logo
Events

Create event

Create a new event associated with the company linked to the API key.

POST
/events

Authorization

x-kommunity-api-key<token>

API key for authentication.

In: header

Request Body

application/jsonRequired
nameRequiredstring

Name of the event

descriptionRequiredstring

Detailed description of the event in HTML format

categoryRequiredstring

Primary category the event belongs to

subcategoryRequiredstring

Subcategory for more specific event classification

attendeeLimitinteger | null

Maximum number of attendees allowed (null means no limit)

Minimum: 1Maximum: 1000
countrystring | null

Country where the event takes place (required for in-person events)

streetstring | null

Street address (required for in-person events)

citystring | null

City (required for in-person events)

statestring | null

State or province (required for in-person events)

zipCodestring | null

Postal/ZIP code (required for in-person events)

eventImgstring | null

URL to the event image. Must be a URL from Kommunity's CDN (cdn.kommunity.app). See Image Upload Process for details.

startTimeRequiredstring

Event start time in ISO 8601 format, must be in UTC

Format: "2025-05-15T22:00:00.000Z"
endTimeRequiredstring

Event end time in ISO 8601 format, must be in UTC and after startTime

Format: "2025-05-15T22:00:00.000Z"
timezoneRequiredstring

Timezone identifier for the event (e.g., 'America/New_York')

ticketsarray<object>

List of tickets available for the event (empty array means the event is free)

joinUrlstring | null

URL for joining online events (required for online events)

Format: "uri"
questionsarray<unknown>

Custom questions for attendees to answer when registering (maximum 3 questions)

@maxItems 3

crossPostobject

Cross-posting configuration to other event platforms. Cross-posting must be specified at event creation as it cannot be configured after the event is created. Should be null if event has tickets.

Response Body

Event created successfully

successRequiredboolean

Indicates if the event creation was successful

dataRequiredobject
export interface Response {
  /**
   * Indicates if the event creation was successful
   */
  success: boolean;
  data: {
    /**
     * Unique identifier for the created event
     */
    id?: string;
    /**
     * Name of the event
     */
    name?: string;
    /**
     * URL-friendly slug for the event
     */
    slug?: string;
    /**
     * Full URL to access the event page
     */
    url?: string;
    /**
     * Information about cross-posted events on other platforms
     */
    crossPostingData?: {
      /**
       * Luma cross-posting information (if enabled)
       */
      luma?: {
        /**
         * Luma event ID
         */
        id?: string | null;
        /**
         * Luma event URL
         */
        url?: string | null;
      } | null;
      /**
       * Eventbrite cross-posting information (if enabled)
       */
      eventbrite?: {
        /**
         * Eventbrite event ID
         */
        id?: string | null;
        /**
         * Eventbrite event URL
         */
        url?: string | null;
      } | null;
      /**
       * Meetup cross-posting information (if enabled)
       */
      meetup?: {
        /**
         * Meetup event ID
         */
        id?: string | null;
        /**
         * Meetup event URL
         */
        url?: string | null;
      } | null;
    };
  };
}
 
curl -X POST "/api/v1/events" \
  -H "x-kommunity-api-key: <token>" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "string",
    "description": "string",
    "category": "string",
    "subcategory": "string",
    "attendeeLimit": 1,
    "country": "string",
    "street": "string",
    "city": "string",
    "state": "string",
    "zipCode": "string",
    "eventImg": "string",
    "startTime": "string",
    "endTime": "string",
    "timezone": "string",
    "tickets": [
      {
        "id": "string",
        "name": "string",
        "price": 0
      }
    ],
    "joinUrl": "http://example.com",
    "questions": [
      {
        "question": "string",
        "required": false
      },
      {
        "question": "string",
        "required": false
      },
      {
        "question": "string",
        "required": false
      }
    ],
    "crossPost": {
      "luma": false,
      "eventbrite": false,
      "meetup": false
    }
  }'
{
  "success": true,
  "data": {
    "id": "string",
    "name": "string",
    "slug": "string",
    "url": "string",
    "crossPostingData": {
      "luma": {
        "id": "string",
        "url": "string"
      },
      "eventbrite": {
        "id": "string",
        "url": "string"
      },
      "meetup": {
        "id": "string",
        "url": "string"
      }
    }
  }
}