---
title: "Trigger account event"
method: POST
path: "/accounts/{externalId}/events"
tags: ["Accounts"]
---

# Trigger account event

`POST /accounts/{externalId}/events`

## Request

- Base URL: `https://api.sequenzy.com/api/v1`
- URL: `https://api.sequenzy.com/api/v1/accounts/{externalId}/events`
- Auth: HTTP bearer

Records an event on the account timeline and delivers it as a contact event to the chosen recipients (`owners` by default, falling back to admins when there is no owner; `admins` includes owners; `all` every member; `none` records only). Each delivery runs the normal event pipeline with `event.account.*` properties. Pass `eventId` to make retries idempotent. Retries reuse the original recipients and event data, skip completed deliveries, and resume failed work without duplicating events or sequence enrollments.

## Request body

- object
  - `event` string, required
  - `properties` object
  - `recipients` 'owners' | 'admins' | 'all' | 'none'
  - `eventId` string: Idempotency key scoped to this account, including when accounts share members. Retries keep the original recipients, properties and event time and resume incomplete deliveries.
  - `occurredAt` string, date-time

## Response `200`

Event recorded and delivered

- object
  - `success` boolean
  - `account` Account: A B2B account (organization, workspace or team) that contacts belong to.
    - `id` string
    - `externalId` string: Customer-owned organization ID, unique per workspace.
    - `name` string, nullable
    - `domain` string, nullable
    - `attributes` object: Account attributes, fanned out to members as `account.<name>`.
    - `memberCount` integer
    - `lastEventAt` string, date-time, nullable
    - `createdAt` string, date-time
    - `updatedAt` string, date-time
  - `event` object
    - `id` string
    - `name` string
    - `time` string, date-time
  - `recipients` 'owners' | 'admins' | 'all' | 'none'
  - `recipientCount` integer
  - `truncated` boolean: True when the account has more matching members than the 5,000 fan-out cap.
  - `duplicate` boolean: True when a caller-supplied eventId had already been recorded; nothing new was written.
  - `deliveries` object[]
    - `subscriberId` string
    - `email` string, nullable
    - `role` 'owner' | 'admin' | 'member'
    - `success` boolean
    - `automationsTriggered` string[]
    - `skipped` 'contact_deleted': Present when the recipient was deleted after the event was recorded. The delivery counts as finished and retries do not attempt it again.
    - `error` string

## Other responses

- `400`: The request body or parameters are invalid
- `404`: The requested resource does not exist

## Changes

- **2026-10-16** `db3873ca3d4d`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/sequenzy/apis/sequenzy-api/changes/accounts/:externalId/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.dev/sequenzy/apis/sequenzy-api/revisions/3d816357b738?raw)
