/* * 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 { Form1099, Form1099$inboundSchema } from "../components/form1099.js"; import { HTTPMetadata, HTTPMetadata$inboundSchema, } from "../components/httpmetadata.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 PostV1SandboxGenerate1099HeaderXGustoAPIVersion = { 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 PostV1SandboxGenerate1099HeaderXGustoAPIVersion = ClosedEnum< typeof PostV1SandboxGenerate1099HeaderXGustoAPIVersion >; export type PostV1SandboxGenerate1099RequestBody = { /** * The contractor UUID. */ contractorId: string; /** * Must be equal to or more recent than 2015. If not specified, defaults to the previous year. * * @remarks */ year?: number | undefined; }; export type PostV1SandboxGenerate1099Request = { /** * Determines the date-based API version associated with your API call. 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?: | PostV1SandboxGenerate1099HeaderXGustoAPIVersion | undefined; requestBody: PostV1SandboxGenerate1099RequestBody; }; export type PostV1SandboxGenerate1099Response = { httpMeta: HTTPMetadata; /** * Created */ form1099?: Form1099 | undefined; }; /** @internal */ export const PostV1SandboxGenerate1099HeaderXGustoAPIVersion$outboundSchema: z.ZodNativeEnum = z .nativeEnum(PostV1SandboxGenerate1099HeaderXGustoAPIVersion); /** @internal */ export type PostV1SandboxGenerate1099RequestBody$Outbound = { contractor_id: string; year?: number | undefined; }; /** @internal */ export const PostV1SandboxGenerate1099RequestBody$outboundSchema: z.ZodType< PostV1SandboxGenerate1099RequestBody$Outbound, z.ZodTypeDef, PostV1SandboxGenerate1099RequestBody > = z.object({ contractorId: z.string(), year: z.number().int().optional(), }).transform((v) => { return remap$(v, { contractorId: "contractor_id", }); }); export function postV1SandboxGenerate1099RequestBodyToJSON( postV1SandboxGenerate1099RequestBody: PostV1SandboxGenerate1099RequestBody, ): string { return JSON.stringify( PostV1SandboxGenerate1099RequestBody$outboundSchema.parse( postV1SandboxGenerate1099RequestBody, ), ); } /** @internal */ export type PostV1SandboxGenerate1099Request$Outbound = { "X-Gusto-API-Version": string; RequestBody: PostV1SandboxGenerate1099RequestBody$Outbound; }; /** @internal */ export const PostV1SandboxGenerate1099Request$outboundSchema: z.ZodType< PostV1SandboxGenerate1099Request$Outbound, z.ZodTypeDef, PostV1SandboxGenerate1099Request > = z.object({ xGustoAPIVersion: PostV1SandboxGenerate1099HeaderXGustoAPIVersion$outboundSchema.default( "2025-06-15", ), requestBody: z.lazy(() => PostV1SandboxGenerate1099RequestBody$outboundSchema ), }).transform((v) => { return remap$(v, { xGustoAPIVersion: "X-Gusto-API-Version", requestBody: "RequestBody", }); }); export function postV1SandboxGenerate1099RequestToJSON( postV1SandboxGenerate1099Request: PostV1SandboxGenerate1099Request, ): string { return JSON.stringify( PostV1SandboxGenerate1099Request$outboundSchema.parse( postV1SandboxGenerate1099Request, ), ); } /** @internal */ export const PostV1SandboxGenerate1099Response$inboundSchema: z.ZodType< PostV1SandboxGenerate1099Response, z.ZodTypeDef, unknown > = z.object({ HttpMeta: HTTPMetadata$inboundSchema, Form_1099: Form1099$inboundSchema.optional(), }).transform((v) => { return remap$(v, { "HttpMeta": "httpMeta", "Form_1099": "form1099", }); }); export function postV1SandboxGenerate1099ResponseFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => PostV1SandboxGenerate1099Response$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'PostV1SandboxGenerate1099Response' from JSON`, ); }