---
title: "Trigger event for subscriber"
method: POST
path: "/subscribers/events"
tags: ["Subscribers"]
---

# Trigger event for subscriber

`POST /subscribers/events`

Triggers an event for a subscriber. Creates the subscriber if they don't exist and applies the workspace default lists setting. Creates the event definition if it doesn't exist. When the workspace has double opt-in enabled, a brand-new subscriber is created pending confirmation, the confirmation email is queued, and matching sequences wait at their trigger until the subscriber confirms.

## Request body

- object
  - `email` string, email — Required when creating a new subscriber. Optional when externalId identifies an existing subscriber.
  - `externalId` string — Customer-owned app/customer/user ID
  - `firstName` string — First name to set if creating the subscriber.
  - `lastName` string — Last name to set if creating the subscriber.
  - `event` string, required
  - `properties` object — Event properties/metadata
  - `customAttributes` object — Optional attributes to set on the subscriber if created

## Response `200`

Event triggered successfully

- object
  - `success` boolean
  - `subscriber` object
    - `id` string
    - `email` string
    - `created` boolean
  - `event` object
    - `id` string — The created event record ID
    - `name` string
    - `definitionCreated` boolean — Whether the event definition was newly created
  - `optIn` object — Present when this event created a brand-new subscriber while workspace double opt-in is enabled. The subscriber stays pending and matching sequences wait until they confirm.
    - `required` boolean
    - `emailQueued` boolean

## Other responses

- `401` — Unauthorized
- `500` — Internal server error

## Changes

- **2026-06-12** `f9a826460811` — 1 info
  - added the optional property `optIn` to the response with the `200` status
- **2026-05-20** `1139fdf1ac6b` — 2 info
  - added the new optional request property `firstName`
  - added the new optional request property `lastName`
- **2026-05-05** `5449b620579f` — 2 info
  - added the new optional request property `externalId`
  - the request property `email` became optional

[Change history](https://skmtc.dev/sequenzy/apis/sequenzy-api/changes/subscribers/events/post.md)

---

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