---
title: "Create custom event property"
method: POST
path: "/events/custom-properties/"
tags: ["customEventProperties"]
---

# Create custom event property

`POST /events/custom-properties/`

## Request

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

## Headers

- `X-Partner-Id` string, required

## Request body

- CustomEventPropertyWriteRequest
  - `name` string, required
  - `value_type` 'text' | 'number', required: Declared value type of a CustomEventProperty. Lowercase because these values travel through the public API (`value_type` on the custom-properties routes).

## Response `201`

- CustomEventProperty: Every route's definition response. Reads off `PropertyWithValueCount`.
  - `id` integer, required
  - `name` string, required
  - `value_type` string, required
  - `created_at` string, date-time, required
  - `value_count` integer, required

## Other responses

- `409`: A property with this name already exists.
- `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)
