To save time creating a new event, you can choose to make a copy of a similar event and then update the new event’s details.
To make a copy of an existing event, make a POST call to the /v3/events/{event_id}/copy endpoint.
Parameters
To identify the event to copy, specify the required event_id path parameter.
To name the new event, specify the required target_event_name in the request body.
Request Examples
GET https://api.cc.email/v3/events/{event_id}
Endpoint Requirements
User privileges: campaign:write
Authorization scopes: campaign_data
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://api.cc.email/v3/events/2797732a-8664-4675-8415-c4aabaa17dae/copy',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_POSTFIELDS =>'{
"target_event_name": "Yoga Workshop"
}',
CURLOPT_HTTPHEADER => array(
'Content-Type: application/json',
'Bearer {access_token}'
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
curl --location 'https://api.cc.email/v3/events/2797732a-8664-4675-8415-c4aabaa17dae/copy' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {access_token}' \
--data '{
"target_event_name": "Yoga Workshop"
}'
OkHttpClient client = new OkHttpClient().newBuilder()
.build();
MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\n \"target_event_name\": \"Yoga Workshop\"\n}");
Request request = new Request.Builder()
.url("https://api.cc.email/v3/events/2797732a-8664-4675-8415-c4aabaa17dae/copy")
.method("POST", body)
.addHeader("Content-Type", "application/json")
.addHeader("Authorization", "Bearer {access_token}")
.build();
Response response = client.newCall(request).execute();
Example Response
{
"create_time": "2026-01-27T15:09:37.221Z",
"last_update_time": "2026-01-27T15:09:37.221Z",
"event_id": "2079f260-142b-4de2-b11e-9ed38e3512c1",
"default_track": {
"track_id": "lf4mcp",
"campaign_activity_id": "97d79a76-2db8-442e-b22a-d9e945e076a0",
"conf_email_campaign_activity_id": "6c3a2396-a796-4893-84c4-4d2537db4046",
"registration_type": "TICKET",
"reg_manually_closed_flag": false,
"platform_fee_scope_type": "OWNER",
"tickets_header": "TICKETS",
"items_header": "ADD-ONS",
"overall_ticket_capacity": -1,
"restrict_to_single_ticket_flag": false
},
"name": "Yoga Workshop - Copy 2",
"title": "Testing Expiration Issue",
"status": "DRAFT",
"event_start": "2025-08-27T20:50:00Z",
"event_end": "2025-08-27T21:50:00Z",
"event_type": "AUCTION",
"location_type": "TBA",
"currency_type": "USD",
"time_zone": "US/Eastern",
"time_zone_abbreviation": "ET",
"event_source_type": "UI",
"display_map_on_lp_flag": false,
"display_end_time_flag": true,
"display_time_zone_flag": false,
"display_contact_flag": false,
"display_on_calendar_flag": false,
"contact": {
"create_time": "2026-01-27T15:09:37.227Z",
"last_update_time": "2026-01-27T15:09:37.227Z",
"name": "deb lang",
"from_email_address": "dlang@constantcontact.com",
"email_address": "rnayak@constantcontact.com",
"phone_number": "1231231234",
"organization_name": "Ace Inc"
},
"notify_owner_on_reg": false,
"event_code": "e9dnmuc",
"registration_url": "https://lp.l1.constantcontactpages.com/ev/reg/e9dnmuc",
"event_calendar_url": "https://lp.l1.constantcontactpages.com/ev/calendar/003wZREXJ98vGM_rGt-fbtpGw==",
"event_widget_url": "https://eventsfeed.l1.constantcontact.com/widget/myevents.js?eso=002wZREXJ98vGM_rGt-fbtpGw==",
"eso": "003wZREXJ98vGM_rGt-fbtpGw=="
}
To update the newly created event, make a PATCH call to the /v3/events/{event_id}/copy endpoint and include any fields to update in the request body. To learn more about updating events, see Update an Event
To learn more about event schema, see Event Schema
Test the endpoint using our reference tester: Try it!