Starting in version 2025-10, the GraphQL Admin API includes a themeDuplicate mutation to duplicate store themes. The mutation accepts a theme ID and an optional name parameter to rename the duplicated theme.
This is a companion discussion topic for the original entry at https://shopify.dev/changelog/duplicate-themes-with-the-admin-graphql-api