diff --git a/src/endpoints/Campaigns/Client.ts b/src/endpoints/Campaigns/Client.ts index 731b62de..4d0c8ccd 100644 --- a/src/endpoints/Campaigns/Client.ts +++ b/src/endpoints/Campaigns/Client.ts @@ -13,6 +13,7 @@ import type { UpdateRequest, ListResponse, SearchOptions, + DuplicateOptions, } from './types'; export type Client = ReturnType; @@ -48,8 +49,13 @@ export function createClient(api: DeferredJobsApiClient) { return api.get(`${routing.campaignsUrl}/${id}`); } - async function duplicate(id: Campaign['id']): Promise { - return api.post(`${routing.campaignsUrl}/${id}/duplicate`); + async function duplicate( + id: Campaign['id'], + options?: DuplicateOptions, + ): Promise { + return api.post(`${routing.campaignsUrl}/${id}/duplicate`, { + payload: options, + }); } async function doDelete(id: Campaign['id']): Promise { diff --git a/src/endpoints/Campaigns/types.ts b/src/endpoints/Campaigns/types.ts index 2a90a88c..edbf9d10 100644 --- a/src/endpoints/Campaigns/types.ts +++ b/src/endpoints/Campaigns/types.ts @@ -35,6 +35,10 @@ export interface UpdateRequest { is_click_tracking_enabled?: boolean; } +export interface DuplicateOptions { + with_recipients?: boolean; +} + export interface RecipientsOperationResponse { campaign: Campaign; warnings: Warning[];