---
title: "Create or update events"
method: POST
path: "/events/"
tags: ["events"]
---

# Create or update events

`POST /events/`

## Request

- Base URL: `https://api.hive.co/v2`
- URL: `https://api.hive.co/v2/events/`
- Auth: HTTP bearer

## Headers

- `X-Partner-Id` string, required

## Request body

- SaveEventsRequest
  - `events` EventRequest[], required
    - `primary_performer_names` string[]
    - `supporting_performer_names` string[]
    - `description` string
    - `end_at` string, date-time
    - `presale_start_at` string, date-time
    - `onsale_start_at` string, date-time
    - `doors_open_at` string, date-time
    - `thumbnail_url` string, uri
    - `genres` string[]
    - `tags` string[]
    - `has_tickets_available` boolean
    - `total_tickets` integer
    - `timezone` string
    - `venue` VenueRequest
      - `name` string, required
      - `address` string
      - `city` string
      - `state` string
      - `country` string
      - `zip` string
    - `tiers` TierRequest[]
      - `tier_id` string, required
      - `name` string, required
      - `price` number, double, required
    - `properties` object
    - `event_id` string, required
    - `name` string, required
    - `start_at` string, date-time, required
    - `updated_at` string, date-time, required
    - `event_url` string, uri, required

## Response `202`

Received and queued for background processing. Not yet applied.

- EventsCreateResponse202: Empty response body

## Other responses

- `422`: Validation failed. For a batch write this is all-or-nothing. Field errors are keyed by resource name, then item index, then field path, query-parameter errors are keyed by parameter name, service-level rejections use a flat `errors` list.

---

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