To create a new event with default settings, registration form, and landing page, make a POST call to the /events/default endpoint. The event is created in DRAFT status.
Parameters
-
name(string, optional): Name for the new event. If not provided, a default name is generated. -
start_time(string, optional): Event start time in ISO 8601 format. If not provided, defaults to a future date. -
end_time(string, optional): Event end time in ISO 8601 format. If not provided, defaults to one hour after start time. -
placeholder_campaign_id(string, optional): Placeholder campaign ID for the event.
Request Examples
POST https://api.cc.email/v3/events/default
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/default?name=My%20Event&start_time=2026-06-15T10:00:00Z&end_time=2026-06-15T18:00:00Z',
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_HTTPHEADER => array(
'Content-Type: application/json',
'Authorization: Bearer {access_token}'
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
curl --location --request POST 'https://api.cc.email/v3/events/default?name=My%20Event&start_time=2026-06-15T10:00:00Z&end_time=2026-06-15T18:00:00Z' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {access_token}'
OkHttpClient client = new OkHttpClient().newBuilder()
.build();
MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "");
Request request = new Request.Builder()
.url("https://api.cc.email/v3/events/default?name=My%20Event&start_time=2026-06-15T10:00:00Z&end_time=2026-06-15T18:00:00Z")
.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-03-15T14:30:00.000Z",
"last_update_time": "2026-03-15T14:30:00.000Z",
"event_id": "5c8179c5-f1b3-4e60-bc56-e900a19049c8",
"default_track": {
"track_id": "dcyhdw",
"campaign_activity_id": "a399c4ae-ac8f-4fcc-b861-d38109cc0bb1",
"conf_email_campaign_activity_id": "572a0af4-d0b4-4d1b-bea4-6f3ab992c1ef",
"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": "My Event",
"status": "DRAFT",
"event_start": "2026-06-15T10:00:00Z",
"event_end": "2026-06-15T18:00:00Z",
"currency_type": "USD",
"time_zone": "US/Eastern",
"time_zone_abbreviation": "ET",
"display_end_time_flag": true,
"display_time_zone_flag": false,
"display_contact_flag": false,
"display_on_calendar_flag": false,
"notify_owner_on_reg": false,
"event_code": "d5z28j5"
}
To learn more about event schema, see Event Schema
Test the endpoint using our reference tester: Try it!