/* * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. */ import { federalTaxDetailsGet } from "../funcs/federalTaxDetailsGet.js"; import { federalTaxDetailsUpdate } from "../funcs/federalTaxDetailsUpdate.js"; import { ClientSDK, RequestOptions } from "../lib/sdks.js"; import { GetV1CompaniesCompanyIdFederalTaxDetailsRequest, GetV1CompaniesCompanyIdFederalTaxDetailsResponse, } from "../models/operations/getv1companiescompanyidfederaltaxdetails.js"; import { PutV1CompaniesCompanyIdFederalTaxDetailsRequest, PutV1CompaniesCompanyIdFederalTaxDetailsResponse, } from "../models/operations/putv1companiescompanyidfederaltaxdetails.js"; import { unwrapAsync } from "../types/fp.js"; export class FederalTaxDetails extends ClientSDK { /** * Get a company's federal tax details * * @remarks * 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` */ async get( request: GetV1CompaniesCompanyIdFederalTaxDetailsRequest, options?: RequestOptions, ): Promise { return unwrapAsync(federalTaxDetailsGet( this, request, options, )); } /** * Update a company's federal tax details * * @remarks * 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` */ async update( request: PutV1CompaniesCompanyIdFederalTaxDetailsRequest, options?: RequestOptions, ): Promise { return unwrapAsync(federalTaxDetailsUpdate( this, request, options, )); } }