/*
 * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
 */

import * as z from "zod/v3";
import {
  V2KeysMigrateKeyData,
  V2KeysMigrateKeyData$Outbound,
  V2KeysMigrateKeyData$outboundSchema,
} from "./v2keysmigratekeydata.js";

export type V2KeysMigrateKeysRequestBody = {
  /**
   * Identifier of the configured migration provider/strategy to use (e.g., "your_company"). You will receive this from Unkey's support staff.
   */
  migrationId: string;
  /**
   * The ID of the API that the keys should be inserted into
   */
  apiId: string;
  keys: Array<V2KeysMigrateKeyData>;
};

/** @internal */
export type V2KeysMigrateKeysRequestBody$Outbound = {
  migrationId: string;
  apiId: string;
  keys: Array<V2KeysMigrateKeyData$Outbound>;
};

/** @internal */
export const V2KeysMigrateKeysRequestBody$outboundSchema: z.ZodType<
  V2KeysMigrateKeysRequestBody$Outbound,
  z.ZodTypeDef,
  V2KeysMigrateKeysRequestBody
> = z.object({
  migrationId: z.string(),
  apiId: z.string(),
  keys: z.array(V2KeysMigrateKeyData$outboundSchema),
});

export function v2KeysMigrateKeysRequestBodyToJSON(
  v2KeysMigrateKeysRequestBody: V2KeysMigrateKeysRequestBody,
): string {
  return JSON.stringify(
    V2KeysMigrateKeysRequestBody$outboundSchema.parse(
      v2KeysMigrateKeysRequestBody,
    ),
  );
}
