---
title: "Send Customer event"
method: POST
path: "/events"
tags: ["Events"]
---

# Send Customer event

`POST /events`

With this endpoint you can send customer events to Omnisend. Customer events are used to track customer behavior and trigger automations based on that behavior.
You can either format and send custom customer events or use predefined events.

**Scopes:**
`events.write`
<br><a href="https://www.postman.com/omnisend-api/workspace/omnisend/overview" target="_blank">Open Postman collection</a>

## Headers

- `Omnisend-Version` string, required

## Request body

- EventRequest
  - `contact` ContactDtoContact
    - `address` string — Street, house number, apartment
    - `birthdate` string, date — Format: YYYY-MM-DD. Example: 1990-01-01
    - `city` string
    - `consents` ContactDtoConsent[]
      - `channel` 'email' | 'sms'
      - `createdAt` string — RFC3339 format
      - `ip` string — IP address of the user
      - `source` string
      - `userAgent` string — User agent of the device that user used to give consent
    - `country` string
    - `countryCode` string — ISO Country code. You can find all country codes in Guides part.
    - `customProperties` object — You can add your own custom properties. Read more in https://api-docs.omnisend.com/reference/contacts#custom-properties
    - `email` string
    - `firstName` string
    - `gender` 'm' | 'f'
    - `id` string
    - `lastName` string
    - `optIns` ContactDtoOptIn[]
      - `channel` 'email' | 'sms'
      - `createdAt` string
      - `source` string
    - `optOuts` ContactDtoOptOut[]
      - `channel` 'email' | 'sms'
      - `createdAt` string
      - `reason` string
      - `source` string
    - `phone` string
    - `postalCode` string
    - `state` string
    - `tags` string[] — Tags are labels you create to organize and manage your audience.
  - `eventID` string — UUID of the event (v4, v5, v6, v7). Along with 'eventTime' used for historical event deduplication (not working on real-time events used for automations). If not provided, it will be generated automatically.
  - `eventName` string — Check event documentation to find what event names you need to specify for each event.
  - `eventTime` string — ISO 8601 timestamp. Accepts RFC 3339 (e.g. "2021-07-01T00:00:00Z") and the space-separated form "YYYY-MM-DD HH:MM:SS±HH:MM" (e.g. "2021-07-01 00:00:00+02:00"). Optional; defaults to current time.
  - `eventVersion` string — Required ONLY for recommended events. Check event documentation to find what version you need to specify for each event. For custom events you should leave it empty.
  - `origin` string — It should be based on the source of event API. If you are building platform or app integration it should have dedicated origin. Otherwise it should be "api".
  - `properties` object — Event properties, you can check events guides section to see what recommended properties you should provide for each event. Not providing recommending properties can result some of the features not working properly.

## Response `202`

Accepted

## Other responses

- `400` — Validation failed
- `500` — Internal server error

---

[API](https://skmtc.dev/omnisend/apis/events-api.md) · [All operations](https://skmtc.dev/omnisend/apis/events-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/omnisend/events-api/revisions/50214fbc283f/schema)
