orders topic in development never reaches subscriptions in production.The three pieces
Topics
The Event Bus landing view lists your topics in a table — Name, Events (24 h), Subscriptions, and Failed (the number of failing deliveries, so an unhealthy topic stands out at a glance) — plus a per-row actions menu. Creating a topic needs only a name (retention lives under Advanced).Create a topic
Open the topic
Add a subscription (the two-step wizard)
The subscription wizard is the heart of the Event Bus. It answers two questions.Step 1 — Which events?
Choose which events this subscription reacts to:Step 2 — Where should it go?
Pick a target. This is where “internal” versus “external” matters.Queue
Your API
External endpoint
Target: Queue
Select one of your existing queues in the same environment (or create one inline). Each subscribed queue receives its own copy of every matching event — this is the classic fan-out then process pattern covered in Using them together.Target: Your API (internal — the default)
When the destination is your own project, Archie resolves the address and authentication for you. There is no URL to paste and no secret to manage.- GraphQL — Archie targets your project’s GraphQL endpoint (the same one the GraphQL API Explorer uses). You only provide the mutation template that turns the event into a write. The event is available to the template so its fields can populate the mutation’s input.
- REST — pick one of your project’s generated REST endpoints (resource and method) from the REST API Explorer. Nothing else to configure.
Target: External endpoint
When the destination is a system outside Archie, you provide the details and Archie protects the delivery:Enter the URL
{field}, [field] and :field — and each is replaced by the matching top-level field of the event. For example https://api.partner.com/orders/{orderId}/status with an event payload { "orderId": 42 } is delivered to …/orders/42/status. The SSRF checks run on the final address, and a placeholder with no matching field is left as-is (so the delivery visibly fails rather than going somewhere unexpected).Choose the HTTP method
Choose authentication
- None
- Bearer token — sent as an
Authorization: Bearer …header. - Custom headers — one or more name/value pairs (e.g.,
X-Api-Key,X-Tenant). Add and remove rows as needed. They are sent on every delivery.
Content-Type, and the X-Archie-* metadata) always take precedence, so a custom header can’t override them.Copy the signing secret (shown once)
Send a test
subscriptionDescription field in the body and an X-Archie-Subscription-Description header — so the receiver can tell which subscription a delivery came from.The subscription list
Each topic’s Subscriptions tab shows every subscription with its filter, its target (an icon plus a friendly label — e.g., “your API · POST /orders” for internal, or a truncated URL for external), and controls:Publish a test event
The Publish test tab lets you fire an event by hand to see the whole chain work end to end:Choose an event type
orders.created.Write the payload
Publish
200 OK, or a subscription skipped because its filter didn’t match.Watch deliveries in Activity
The Activity tab is your audit trail of what actually happened. It lists delivery attempts newest-first:Common questions
What's the difference between an event type and a topic?
What's the difference between an event type and a topic?
orders). An event type is the specific thing that happened on it (e.g., orders.created). Subscriptions filter by event type within a topic.Do all subscribers get the event at the same time?
Do all subscribers get the event at the same time?
When should I deliver to my own API vs an external endpoint?
When should I deliver to my own API vs an external endpoint?
A subscription shows as failing — what do I check?
A subscription shows as failing — what do I check?
4xx usually means the target rejected the request (auth, validation); a 5xx or timeout usually means the target was unavailable. Fix the cause, then redrive the subscription’s error list.Can I temporarily stop a subscription without losing it?
Can I temporarily stop a subscription without losing it?