---
title: "Add an Event"
method: POST
path: "/v1/events"
tags: ["Events"]
---

# Add an Event

`POST /v1/events`

## Request

- Base URL: `https://api.exhibitday.com`
- URL: `https://api.exhibitday.com/v1/events`
- Auth: one of:
  - API key in header `api_key`
  - API key in query parameter `api_key`

If successful, the response will contain an object representing the newly added event.

Documentation: https://api.exhibitday.com/Help/V1?epf=1#post-v1-events

## Headers

- `Idempotency-Key` string

## Request body

- PostEventsRequest
  - `name` string, required: The name of the event.
  - `start_date` string, date, required: Event Start Date (format: YYYY-MM-DD). If the start date is after the end date, the API swaps the dates before creating the event.
  - `end_date` string, date, required: Event End Date (format: YYYY-MM-DD). If the start date is after the end date, the API swaps the dates before creating the event.
  - `format_id` integer: Integer representing the format_id for the event (1 for In-Person, 2 for Virtual, 3 for Hybrid)
  - `participation_type_id` integer: Integer representing the participation type of the event (1: Committed, 2: Considering, 3: Not Going). Note: you can use the following endpoint to retrieve a list of available participation_type_id's: /v1/references/event_participation_types
  - `integration_metadata_field_1` string: This is an integration-specific text field only accessible via the ExhibitDay API. This field can be used to store whatever metadata or information you'd like about a particular event. For example, you can use it to store the "external id" of the event (from another system you're integrating with). Or, you can use it to store the last sync timestamp. Note: when you retrieve a list of events (using the /v1/events endpoint), you can filter down the results by the value of this field.
  - `integration_metadata_field_2` string: This is an integration-specific text field only accessible via the ExhibitDay API. This field can be used to store whatever metadata or information you'd like about a particular event. For example, you can use it to store the "external id" of the event (from another system you're integrating with). Or, you can use it to store the last sync timestamp. Note: when you retrieve a list of events (using the /v1/events endpoint), you can filter down the results by the value of this field.
  - `integration_metadata_field_3` string: This is an integration-specific text field only accessible via the ExhibitDay API. This field can be used to store whatever metadata or information you'd like about a particular event. For example, you can use it to store the "external id" of the event (from another system you're integrating with). Or, you can use it to store the last sync timestamp. Note: when you retrieve a list of events (using the /v1/events endpoint), you can filter down the results by the value of this field.
  - `integration_metadata_field_4` string: This is an integration-specific text field only accessible via the ExhibitDay API. This field can be used to store whatever metadata or information you'd like about a particular event. For example, you can use it to store the "external id" of the event (from another system you're integrating with). Or, you can use it to store the last sync timestamp. Note: when you retrieve a list of events (using the /v1/events endpoint), you can filter down the results by the value of this field.
  - `integration_metadata_field_5` string: This is an integration-specific text field only accessible via the ExhibitDay API. This field can be used to store whatever metadata or information you'd like about a particular event. For example, you can use it to store the "external id" of the event (from another system you're integrating with). Or, you can use it to store the last sync timestamp. Note: when you retrieve a list of events (using the /v1/events endpoint), you can filter down the results by the value of this field.

## Response `200`

OK

- Event, nullable
  - `id` integer
  - `exhibitday_url` string, nullable
  - `name` string, nullable
  - `start_date` string, nullable
  - `end_date` string, nullable
  - `participation_type_id` integer
  - `participation_type` string, nullable
  - `format_id` integer
  - `format` string, nullable
  - `star_rating` integer
  - `tags` string[], nullable
  - `website_url` string, nullable
  - `venue_name` string, nullable
  - `venue_address` string, nullable
  - `venue_location_display_name` string, nullable
  - `venue_address_latitude` string, nullable
  - `venue_address_longitude` string, nullable
  - `booth_size` string, nullable
  - `booth_number` string, nullable
  - `booth_reservation_status_id` integer
  - `booth_reservation_status` string, nullable
  - `booth_reserve_by_date` string, nullable
  - `booth_date_reserved` string, nullable
  - `budget_booth_reservation` number
  - `budget_booth_services` number
  - `budget_attendee_registrations` number
  - `budget_travel` number
  - `budget_giveaways` number
  - `budget_shipments` number
  - `budget_event_activities` number
  - `budget_misc_expenses` number
  - `budget_sponsorships` number
  - `total_sum_event_budgets` number
  - `cost_booth_reservation` number
  - `cost_booth_services` number
  - `cost_attendee_registrations` number
  - `cost_travel_reservations` number
  - `cost_giveaways` number
  - `cost_shipments` number
  - `cost_event_activities` number
  - `cost_misc_expenses` number
  - `cost_sponsorships` number
  - `total_sum_event_costs` number
  - `event_notes` string, nullable
  - `booth_notes` string, nullable
  - `budget_notes` string, nullable
  - `roi_notes` string, nullable
  - `roi_num_leads` integer
  - `roi_num_impressions_booth` integer
  - `roi_num_impressions_sponsorships` integer
  - `roi_num_impressions_media` integer
  - `roi_num_meetings_existing_customers` integer
  - `roi_num_meetings_new_customers` integer
  - `roi_amount_actual_sales` number
  - `roi_amount_potential_sales` number
  - `event_created_timestamp` string, date-time, nullable
  - `event_last_update_timestamp` string, date-time
  - `event_created_by` AspNetUserReferenced, nullable
    - `id` string, nullable
    - `first_name` string, nullable
    - `last_name` string, nullable
    - `email` string, nullable
  - `custom_fields` CustomEventFieldReferenced[], nullable
    - `label` string, nullable
    - `value` string, nullable
    - `notes` string, nullable
    - `field_name` string, nullable
    - `field_type` string, nullable
    - `field_event_tab` string, nullable
  - `task_sections` TaskSectionReferenced[], nullable
    - `id` integer
    - `name` string, nullable
    - `display_rank` integer
  - `tasks` TaskReferenced[], nullable
    - `id` integer
    - `exhibitday_url` string, nullable
    - `event_task_section_id` integer, nullable
    - `event_task_section` string, nullable
    - `display_rank` integer
    - `name` string, nullable
    - `due_date` string, nullable
    - `assignee` AspNetUserReferenced, nullable
      - `id` string, nullable
      - `first_name` string, nullable
      - `last_name` string, nullable
      - `email` string, nullable
    - `is_completed` boolean
    - `task_completed_timestamp` string, date-time, nullable
    - `task_created_timestamp` string, date-time
    - `task_last_update_timestamp` string, date-time
  - `misc_expenses_credits` EventMiscExpenseCreditReferenced[], nullable
    - `id` integer
    - `exhibitday_url` string, nullable
    - `description` string, nullable
    - `is_credit` boolean
    - `amount` number
    - `amount_cost_center_breakdown` CostCenterBreakdown[], nullable
      - `cost_center_id` integer, nullable
      - `cost_center` string, nullable
      - `charge` number
    - `notes` string, nullable
    - `payment_due_date` string, nullable
    - `payment_status` PaymentStatusReferenced, nullable
      - `id` integer
      - `name` string, nullable
    - `next_partial_payment_due_date` string, nullable
    - `payment_notes` string, nullable
    - `event_misc_expense_credit_created_timestamp` string, date-time
    - `event_misc_expense_credit_last_update_timestamp` string, date-time
  - `integration_metadata_field_1` string, nullable
  - `integration_metadata_field_2` string, nullable
  - `integration_metadata_field_3` string, nullable
  - `integration_metadata_field_4` string, nullable
  - `integration_metadata_field_5` string, nullable

## Other responses

- `400`: Bad Request: a missing or invalid parameter, or a change that is not allowed (error_code says which).
- `401`: Unauthorized: the api_key is missing or invalid, or API access is not enabled for the workspace.
- `404`: Not Found: no object with that id in your workspace, or an unknown URL or method.
- `409`: Conflict: idempotency_key_in_use (a request with the same Idempotency-Key is still being processed; retry after a moment with the same key) or idempotency_key_indeterminate (an earlier request with that key did not finish; check whether it succeeded, then retry with a new key).
- `429`: Too Many Requests: the rate limit was exceeded.
- `500`: Unexpected Internal Error.

---

[API](https://skmtc.dev/exhibitday/apis/exhibitday-api.md) · [All operations](https://skmtc.dev/exhibitday/apis/exhibitday-api/llms.txt) · [OpenAPI document](https://skmtc.dev/exhibitday/apis/exhibitday-api/revisions/a35e95422b0a?raw)
