/* * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. */ import * as z from "zod/v3"; import { remap as remap$ } from "../../lib/primitives.js"; import { safeParse } from "../../lib/schemas.js"; import { ClosedEnum } from "../../types/enums.js"; import { Result as SafeParseResult } from "../../types/fp.js"; import { HTTPMetadata, HTTPMetadata$inboundSchema, } from "../components/httpmetadata.js"; import { TaxRequirementSetUpdate, TaxRequirementSetUpdate$Outbound, TaxRequirementSetUpdate$outboundSchema, } from "../components/taxrequirementsetupdate.js"; import { SDKValidationError } from "../errors/sdkvalidationerror.js"; /** * Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. */ export const PutV1CompaniesCompanyUuidTaxRequirementsStateHeaderXGustoAPIVersion = { TwoThousandAndTwentyFiveMinus06Minus15: "2025-06-15", } as const; /** * Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. */ export type PutV1CompaniesCompanyUuidTaxRequirementsStateHeaderXGustoAPIVersion = ClosedEnum< typeof PutV1CompaniesCompanyUuidTaxRequirementsStateHeaderXGustoAPIVersion >; export type PutV1CompaniesCompanyUuidTaxRequirementsStateRequestBody = { /** * Array of requirement sets to update. Each set corresponds to a category of requirements for the state. */ requirementSets?: Array | undefined; }; export type PutV1CompaniesCompanyUuidTaxRequirementsStateRequest = { /** * Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. */ xGustoAPIVersion?: | PutV1CompaniesCompanyUuidTaxRequirementsStateHeaderXGustoAPIVersion | undefined; /** * The UUID of the company */ companyUuid: string; /** * The two-letter state abbreviation */ state: string; requestBody: PutV1CompaniesCompanyUuidTaxRequirementsStateRequestBody; }; export type PutV1CompaniesCompanyUuidTaxRequirementsStateResponse = { httpMeta: HTTPMetadata; }; /** @internal */ export const PutV1CompaniesCompanyUuidTaxRequirementsStateHeaderXGustoAPIVersion$outboundSchema: z.ZodNativeEnum< typeof PutV1CompaniesCompanyUuidTaxRequirementsStateHeaderXGustoAPIVersion > = z.nativeEnum( PutV1CompaniesCompanyUuidTaxRequirementsStateHeaderXGustoAPIVersion, ); /** @internal */ export type PutV1CompaniesCompanyUuidTaxRequirementsStateRequestBody$Outbound = { requirement_sets?: Array | undefined; }; /** @internal */ export const PutV1CompaniesCompanyUuidTaxRequirementsStateRequestBody$outboundSchema: z.ZodType< PutV1CompaniesCompanyUuidTaxRequirementsStateRequestBody$Outbound, z.ZodTypeDef, PutV1CompaniesCompanyUuidTaxRequirementsStateRequestBody > = z.object({ requirementSets: z.array(TaxRequirementSetUpdate$outboundSchema).optional(), }).transform((v) => { return remap$(v, { requirementSets: "requirement_sets", }); }); export function putV1CompaniesCompanyUuidTaxRequirementsStateRequestBodyToJSON( putV1CompaniesCompanyUuidTaxRequirementsStateRequestBody: PutV1CompaniesCompanyUuidTaxRequirementsStateRequestBody, ): string { return JSON.stringify( PutV1CompaniesCompanyUuidTaxRequirementsStateRequestBody$outboundSchema .parse(putV1CompaniesCompanyUuidTaxRequirementsStateRequestBody), ); } /** @internal */ export type PutV1CompaniesCompanyUuidTaxRequirementsStateRequest$Outbound = { "X-Gusto-API-Version": string; company_uuid: string; state: string; RequestBody: PutV1CompaniesCompanyUuidTaxRequirementsStateRequestBody$Outbound; }; /** @internal */ export const PutV1CompaniesCompanyUuidTaxRequirementsStateRequest$outboundSchema: z.ZodType< PutV1CompaniesCompanyUuidTaxRequirementsStateRequest$Outbound, z.ZodTypeDef, PutV1CompaniesCompanyUuidTaxRequirementsStateRequest > = z.object({ xGustoAPIVersion: PutV1CompaniesCompanyUuidTaxRequirementsStateHeaderXGustoAPIVersion$outboundSchema .default("2025-06-15"), companyUuid: z.string(), state: z.string(), requestBody: z.lazy(() => PutV1CompaniesCompanyUuidTaxRequirementsStateRequestBody$outboundSchema ), }).transform((v) => { return remap$(v, { xGustoAPIVersion: "X-Gusto-API-Version", companyUuid: "company_uuid", requestBody: "RequestBody", }); }); export function putV1CompaniesCompanyUuidTaxRequirementsStateRequestToJSON( putV1CompaniesCompanyUuidTaxRequirementsStateRequest: PutV1CompaniesCompanyUuidTaxRequirementsStateRequest, ): string { return JSON.stringify( PutV1CompaniesCompanyUuidTaxRequirementsStateRequest$outboundSchema.parse( putV1CompaniesCompanyUuidTaxRequirementsStateRequest, ), ); } /** @internal */ export const PutV1CompaniesCompanyUuidTaxRequirementsStateResponse$inboundSchema: z.ZodType< PutV1CompaniesCompanyUuidTaxRequirementsStateResponse, z.ZodTypeDef, unknown > = z.object({ HttpMeta: HTTPMetadata$inboundSchema, }).transform((v) => { return remap$(v, { "HttpMeta": "httpMeta", }); }); export function putV1CompaniesCompanyUuidTaxRequirementsStateResponseFromJSON( jsonString: string, ): SafeParseResult< PutV1CompaniesCompanyUuidTaxRequirementsStateResponse, SDKValidationError > { return safeParse( jsonString, (x) => PutV1CompaniesCompanyUuidTaxRequirementsStateResponse$inboundSchema.parse( JSON.parse(x), ), `Failed to parse 'PutV1CompaniesCompanyUuidTaxRequirementsStateResponse' from JSON`, ); }