---
title: "Create Event"
method: POST
path: "/events"
tags: ["Campaigns (preview)"]
---

# Create Event

`POST /events`

## Request

- Base URL: `https://api.karumi.ai/api/v1`
- URL: `https://api.karumi.ai/api/v1/events`
- Auth: none declared. Required headers: `Idempotency-Key`

## Headers

- `Idempotency-Key` string, required
- `x-api-key` string, nullable

## Request body

- union
  - PublicEventIn
    - `type` string, required
    - `source` 'hubspot' | 'salesforce' | 'attio' | 'catch_hook' | 'api' | 'karumi_session' | 'phone' | 'sms' | 'calendar' | 'operator'
    - `external_id` string, nullable
    - `idempotency_key` string, nullable
    - `occurred_at` string, date-time, required
    - `contact` ContactIdentity, required
      - `crm_provider` string, nullable
      - `crm_record_id` string, nullable
      - `email` string, nullable
      - `phone` string, nullable
      - `phone_default_region` string
      - `first_name` string, nullable
      - `last_name` string, nullable
      - `company_name` string, nullable
      - `company_domain` string, nullable
      - `title` string, nullable
      - `timezone` string, nullable
      - `country` string, nullable
    - `consents` EventConsent[]
      - `occurred_at` string, date-time, nullable
      - `channel` 'voice' | 'sms' | 'email', required
      - `purpose` 'marketing' | 'informational' | 'callback', required
      - `action` 'granted' | 'revoked', required
      - `basis` 'pewc' | 'prior_express' | 'requested_callback' | 'existing_relationship' | 'legitimate_interest', required
      - `jurisdiction` string, required
      - `ai_voice_disclosed` boolean, required
      - `seller_name` string, required
      - `consent_text_version` string, required
      - `consent_text_sha256` string, required
      - `source_ref` string, nullable
      - `evidence` object
    - `attributes` object
    - `correlation` EventCorrelation
      - `enrollment_id` string, uuid, nullable
      - `step_run_id` string, uuid, nullable
    - `target_campaign_id` string, uuid, nullable
  - LeadCallRequestIn: Typed convenience projection of the same contact event, never dialing authority.
    - `type` 'call.requested'
    - `source` 'api'
    - `target_campaign_id` string, uuid, required
    - `external_id` string, required
    - `idempotency_key` string, nullable
    - `occurred_at` string, date-time, required
    - `contact` ContactIdentity, required
      - `crm_provider` string, nullable
      - `crm_record_id` string, nullable
      - `email` string, nullable
      - `phone` string, nullable
      - `phone_default_region` string
      - `first_name` string, nullable
      - `last_name` string, nullable
      - `company_name` string, nullable
      - `company_domain` string, nullable
      - `title` string, nullable
      - `timezone` string, nullable
      - `country` string, nullable
    - `consents` EventConsent[]
      - `occurred_at` string, date-time, nullable
      - `channel` 'voice' | 'sms' | 'email', required
      - `purpose` 'marketing' | 'informational' | 'callback', required
      - `action` 'granted' | 'revoked', required
      - `basis` 'pewc' | 'prior_express' | 'requested_callback' | 'existing_relationship' | 'legitimate_interest', required
      - `jurisdiction` string, required
      - `ai_voice_disclosed` boolean, required
      - `seller_name` string, required
      - `consent_text_version` string, required
      - `consent_text_sha256` string, required
      - `source_ref` string, nullable
      - `evidence` object
    - `attributes` object
    - `correlation` EventCorrelation
      - `enrollment_id` string, uuid, nullable
      - `step_run_id` string, uuid, nullable

## Response `202`

Successful Response

- EventAccepted
  - `event_id` string, uuid, required
  - `duplicate` boolean, required

## Other responses

- `422`: Validation Error

## Changes

- **2026-11-02** `194842153db4`: 1 breaking, 10 warning, 1 info
  - the request's body type changed from `object` to no type
  - removed the request property `attributes`
  - removed the request property `consents`
  - removed the request property `contact`
  - …8 more
- **2026-11-02** `703972beef93`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/karumi/apis/karumi-public-api/changes/events/post.md)

---

[API](https://skmtc.dev/karumi/apis/karumi-public-api.md) - [All operations](https://skmtc.dev/karumi/apis/karumi-public-api/llms.txt) - [OpenAPI document](https://skmtc.dev/karumi/apis/karumi-public-api/revisions/194842153db4?raw)
