Events your services can count on.
The event backbone of the OpenVibe network. Publish an event once and every subscriber gets it: stored durably, signed, retried with backoff, and replayable after a failure. 35 OpenVibe services published to it this week.
Alpha. The API is at https://openvibe.events; developer apps sign in through OpenVibe.Network.
- Search286,167
- Sources208,207
- OpenVibe AI138,669
- Deals125,506
and 31 more services
The bus1,042,789 events this week
216 subscriptions receive them, signed and retried
Part of OpenVibe Services: the building blocks every OpenVibe product runs on, with one console, one account and one SDK.
- 191,050events in the last 24 hours
- 1,042,789events this week
- 36services published this week
- 129event types this week
- 216active subscriptions from 50 consumers
- 1,908,443deliveries made in the last 30 days
No deliveries are waiting in the dead-letter queue.
Public events this week
The public event types anyone may read, newest arrival first: when each last arrived, who published it and what it means. Subscribe to a pattern such as live.stream.* to get them as signed webhooks; any reader can also pull them with a cursor.
-
OpenVibe.Host: release published
host.release.published -
OpenVibe.Services: app deprecated
services.app.deprecated -
A developer app was published
services.app.published -
OpenVibe.Services: app revoked
services.app.revoked -
A message in a public chat room
chat.message.created -
A deal changed on OpenVibe.Deals
deals.offer.updated -
A deal was added on OpenVibe.Deals
deals.offer.created -
A paste was shared on OpenVibe.Community
community.paste.created -
A stream ended on OpenVibe.Live
live.stream.ended -
A market observation on OpenVibe.Trade
trade.observation.created -
A channel went live on OpenVibe.Live
live.stream.started -
A coupon was added on OpenVibe.Coupons
coupons.coupon.created -
OpenVibe.Community: paste deleted
community.paste.deleted -
OpenVibe.Community: comment created
community.comment.created -
OpenVibe.Chat: message edited
chat.message.edited -
OpenVibe.Chat: room message created
chat.room.message.created -
OpenVibe.Video: video published
mediahub.video.published
Who published this week
16 items
Events by the service that published them over the last seven days. Every one was stored before any subscriber saw it.
And 20 more.
What you get
Publish, subscribe, pullcurl examples
Publish, subscribe, pull
With an app token from OpenVibe.Network (client credentials, audience openvibe.events).
curl -X POST https://openvibe.events/api/v1/events \
-H "Authorization: Bearer $TOKEN" -H 'Content-Type: application/json' \
-d '{ "event_id": "evt_01JAB2C3D4E5F6G7H8J9K0MNPQ", "event_type": "app.<project_key>.order.created",
"version": 1, "source": "app-<app id>", "actor": { "type": "app", "id": "app_<ULID>" },
"timestamp": "2026-10-07T12:00:00Z", "subject": { "type": "order", "id": "42" },
"payload": { "total": 3 } }'curl -X POST https://openvibe.events/api/v1/subscriptions \
-H "Authorization: Bearer $TOKEN" -H 'Content-Type: application/json' \
-d '{ "topic_pattern": "app.<project_key>.*", "endpoint": "https://hooks.example.com/openvibe" }'
# → { "id": "sub_…", "secret": "whsec_…" } the secret is shown oncecurl "https://openvibe.events/api/v1/events?topic=app.<project_key>.*&limit=100" -H "Authorization: Bearer $TOKEN"
# then the same with &after=<next_cursor> from the previous pageReceive a webhook safely
4 items
- Keep the secretThe subscription's secret is shown once, when you create it or rotate it.
- Check the signatureVerify X-OpenVibe-Signature-V2 over the timestamp and the raw body, and refuse anything older than five minutes.
- Answer quicklyReply 2xx once the event is safely stored; anything else is retried, then dead-lettered.
- Expect repeatsA retry can bring the same event again: keep its event id and handle it once.
Questions
7 questions
What is OpenVibe.Events?
The event bus of the OpenVibe network. A service publishes an event once; Events stores it, then delivers it to every subscriber as a signed webhook, keeps it for pulls with a cursor, and streams public ones to browsers.
Who can publish?
OpenVibe services with the events.event.publish capability, and developer apps under their own project's names (app.<project_key>.*) with an app token from OpenVibe.Network.
How do I know a webhook really came from Events?
Every delivery is signed over its timestamp and raw body (X-OpenVibe-Signature-V2). Check it with verifyDeliveryV2 from openvibe-sdk/events and refuse anything more than five minutes old.
What if my endpoint is down?
The delivery is retried with backoff. One that keeps failing waits in the dead-letter queue, where it can be replayed, and a new subscription can catch up from a point in history.
How long are events kept?
Thirty days in the hot store for delivery, pulls and replay, then a year in the replay tier for pulls and stream resumes.
Can a browser listen?
Yes. Server-sent events at /realtime/stream, authorized per topic with a one-use ticket from OpenVibe.Network, and resumable after a reconnect.
Are sandbox and production separate?
Yes. A developer app's sandbox events never reach production apps or subscriptions, and are pruned after seven days.