Skip to content

Send an event

POST
/api/v1/events
curl --request POST \
--url https://renotify.app/api/v1/events \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "name": "payment.due", "contact": { "external_id": "cus_123", "phone": "+15551234567", "name": "Jane Doe" }, "data": { "amount": "$120.00", "due_date": "2026-10-01" }, "occurred_at": "2026-09-29T10:00:00Z" }'

Records the event, creates or updates its contact, and starts every active workflow listening for it. Send an Idempotency-Key header to make retries safe: a repeated key returns the original event.

Media typeapplication/json
object
name
required

The event name.

string
Example
payment.due
contact
required

Who the event is about.

object
external_id

This field is required when none of contact.phone and contact.email are present. Must not be greater than 255 characters.

string
nullable
Example
b
phone

Must not be greater than 30 characters.

string
nullable
Example
n
email

Must be a valid email address. Must not be greater than 255 characters.

string
nullable
Example
ashly64@example.com
name

Must not be greater than 255 characters.

string
nullable
Example
v
data
object
Example
null
marketing_consent
Array<boolean>
Example
[
false
]
Example
{
"external_id": "cus_123",
"phone": "+15551234567",
"name": "Jane Doe"
}
data

Anything workflows should use, e.g. amount and due date.

object
Example
{
"amount": "$120.00",
"due_date": "2026-10-01"
}
occurred_at

When it happened (ISO 8601). Defaults to now.

string
nullable
Example
2026-09-29T10:00:00Z