# Create event for contact

**POST** `/contacts/{contactId}/events`

Records a customer moment such as a purchase, signup, or plan change. Matching active
journeys can react to the event after it is accepted.

Authentication: bearerAuth
Required scopes: `event:create`
Allowed roles: `owner`, `admin`, `agent`
Authorization: Create an event for a contact.

## Parameters

- `contactId` (path string, required)

## Request body

- `application/json`: `CreateContactEventRequest` required.

## Responses

- `201`: Event created
- `409`: Event with this idempotency key already exists
- `default`: Error
