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.

  1. Search286,167
  2. Sources208,207
  3. OpenVibe AI138,669
  4. Deals125,506

and 31 more services

The bus1,042,789 events this week

216 subscriptions receive them, signed and retried

This week, from the bus's own counts.

Part of OpenVibe Services: the building blocks every OpenVibe product runs on, with one console, one account and one SDK.

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

    · from OpenVibe.Host · 6,036 this week

    host.release.published

  • OpenVibe.Services: app deprecated

    · from OpenVibe.Services · 7 this week

    services.app.deprecated

  • A developer app was published

    · from OpenVibe.Services · 7 this week

    services.app.published

  • OpenVibe.Services: app revoked

    · from OpenVibe.Services · 7 this week

    services.app.revoked

  • A message in a public chat room

    · from OpenVibe.Chat · 580 this week

    chat.message.created

  • A deal changed on OpenVibe.Deals

    · from OpenVibe.Deals · 21,251 this week

    deals.offer.updated

  • A deal was added on OpenVibe.Deals

    · from OpenVibe.Deals · 8,499 this week

    deals.offer.created

  • A paste was shared on OpenVibe.Community

    · from OpenVibe.Community · 96 this week

    community.paste.created

  • A stream ended on OpenVibe.Live

    · from OpenVibe.Live · 109 this week

    live.stream.ended

  • A market observation on OpenVibe.Trade

    · from OpenVibe.Trade · 68,355 this week

    trade.observation.created

  • A channel went live on OpenVibe.Live

    · from OpenVibe.Live · 126 this week

    live.stream.started

  • A coupon was added on OpenVibe.Coupons

    · from OpenVibe.Coupons · 133 this week

    coupons.coupon.created

  • OpenVibe.Community: paste deleted

    · from OpenVibe.Community · 8 this week

    community.paste.deleted

  • OpenVibe.Community: comment created

    · from OpenVibe.Community · 4 this week

    community.comment.created

  • OpenVibe.Chat: message edited

    · from OpenVibe.Chat · 2 this week

    chat.message.edited

  • OpenVibe.Chat: room message created

    · from OpenVibe.Chat · 6 this week

    chat.room.message.created

  • OpenVibe.Video: video published

    · from OpenVibe.Video · 1 this week

    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 onceOne event or up to a hundred at a time, stored atomically and numbered in order. Sending the same event id twice never stores it twice.
Signed webhooksSubscribe with a topic pattern such as media.vod.*. Every delivery is HMAC-signed with its timestamp and retried with backoff.
Dead letters and replayDeliveries that keep failing wait in a dead-letter queue. Replay them, or catch a new subscription up from a point in its history.
Pull with a cursorRead events in order with an opaque cursor when you would rather pull than receive webhooks.
Realtime for browsersServer-sent events, authorized per topic with a one-use ticket from OpenVibe.Network, and resumable after a reconnect.
Developer appsAn app publishes under its own project's names and keeps sandbox and production apart: sandbox events never reach production.
Publish, subscribe, pullcurl examples

Publish, subscribe, pull

With an app token from OpenVibe.Network (client credentials, audience openvibe.events).

Publish
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 } }'
Subscribe
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 once
Pull
curl "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 page

Receive a webhook safely

4 items
  1. Keep the secretThe subscription's secret is shown once, when you create it or rotate it.
  2. Check the signatureVerify X-OpenVibe-Signature-V2 over the timestamp and the raw body, and refuse anything older than five minutes.
  3. Answer quicklyReply 2xx once the event is safely stored; anything else is retried, then dead-lettered.
  4. 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.