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!

Tags: events