/* * 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 ListCouponAssociationsRequest = { /** * Filter by subscription IDs (max 100) */ subscriptionIds?: Array | undefined; /** * Filter by coupon IDs (max 100) */ couponIds?: Array | undefined; /** * Return only currently active associations */ activeOnly?: boolean | undefined; /** * Comma-separated fields: coupon, subscription_line_items, subscription_line_items.prices */ expand?: string | undefined; /** * Page size */ limit?: number | undefined; /** * Page offset */ offset?: number | undefined; }; /** @internal */ export type ListCouponAssociationsRequest$Outbound = { subscription_ids?: Array | undefined; coupon_ids?: Array | undefined; active_only?: boolean | undefined; expand?: string | undefined; limit?: number | undefined; offset?: number | undefined; }; /** @internal */ export const ListCouponAssociationsRequest$outboundSchema: z.ZodMiniType< ListCouponAssociationsRequest$Outbound, ListCouponAssociationsRequest > = z.pipe( z.object({ subscriptionIds: z.optional(z.array(z.string())), couponIds: z.optional(z.array(z.string())), activeOnly: z.optional(z.boolean()), expand: z.optional(z.string()), limit: z.optional(z.int()), offset: z.optional(z.int()), }), z.transform((v) => { return remap$(v, { subscriptionIds: "subscription_ids", couponIds: "coupon_ids", activeOnly: "active_only", }); }), ); export function listCouponAssociationsRequestToJSON( listCouponAssociationsRequest: ListCouponAssociationsRequest, ): string { return JSON.stringify( ListCouponAssociationsRequest$outboundSchema.parse( listCouponAssociationsRequest, ), ); }