/* * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. */ import * as z from "zod/v4-mini"; import { remap as remap$ } from "../../lib/primitives.js"; export type GetEventsRequest = { /** * End time of the events to be fetched in ISO 8601 format * * @remarks * Defaults to now if not provided */ endTime?: Date | undefined; /** * Event ID is the idempotency key for the event */ eventId?: string | undefined; /** * Event name / Unique identifier for the event in your system */ eventName?: string | undefined; /** * Customer ID in your system that was sent with the event */ externalCustomerId?: string | undefined; /** * First key to iterate over the events */ iterFirstKey?: string | undefined; /** * Last key to iterate over the events */ iterLastKey?: string | undefined; /** * Offset to fetch the events and is set to 0 by default */ offset?: number | undefined; /** * Order by condition. Allowed values (case sensitive): asc, desc (default: desc) */ order?: string | undefined; /** * Page size to fetch the events and is set to 50 by default */ pageSize?: number | undefined; /** * Property filters to filter the events by the keys in `properties` field of the event */ propertyFilters?: { [k: string]: Array } | undefined; /** * Sort by the field. Allowed values (case sensitive): timestamp, event_name (default: timestamp) */ sort?: string | undefined; /** * Source to filter the events by the source */ source?: string | undefined; /** * Start time of the events to be fetched in ISO 8601 format * * @remarks * Defaults to last 7 days from now if not provided */ startTime?: Date | undefined; }; /** @internal */ export type GetEventsRequest$Outbound = { end_time?: string | undefined; event_id?: string | undefined; event_name?: string | undefined; external_customer_id?: string | undefined; iter_first_key?: string | undefined; iter_last_key?: string | undefined; offset?: number | undefined; order?: string | undefined; page_size?: number | undefined; property_filters?: { [k: string]: Array } | undefined; sort?: string | undefined; source?: string | undefined; start_time?: string | undefined; }; /** @internal */ export const GetEventsRequest$outboundSchema: z.ZodMiniType< GetEventsRequest$Outbound, GetEventsRequest > = z.pipe( z.object({ endTime: z.optional(z.pipe(z.date(), z.transform(v => v.toISOString()))), eventId: z.optional(z.string()), eventName: z.optional(z.string()), externalCustomerId: z.optional(z.string()), iterFirstKey: z.optional(z.string()), iterLastKey: z.optional(z.string()), offset: z.optional(z.int()), order: z.optional(z.string()), pageSize: z.optional(z.int()), propertyFilters: z.optional(z.record(z.string(), z.array(z.string()))), sort: z.optional(z.string()), source: z.optional(z.string()), startTime: z.optional(z.pipe(z.date(), z.transform(v => v.toISOString()))), }), z.transform((v) => { return remap$(v, { endTime: "end_time", eventId: "event_id", eventName: "event_name", externalCustomerId: "external_customer_id", iterFirstKey: "iter_first_key", iterLastKey: "iter_last_key", pageSize: "page_size", propertyFilters: "property_filters", startTime: "start_time", }); }), ); export function getEventsRequestToJSON( getEventsRequest: GetEventsRequest, ): string { return JSON.stringify( GetEventsRequest$outboundSchema.parse(getEventsRequest), ); }