Commit Submitted
Published when a sales rep submits their forecast commitment for a quarter.
Event Overview
Fired when a rep submits their numbers through POST /tenants/{tenant_id}/forecast/submit. The endpoint is guarded by require_submit_permission, and a single submit call emits both this event and Commit Finalized.
Envelope
| Field | Value |
|---|---|
| Bus | {env}-rio-events (but see the service page - this repo defaults to rio-commit-events) |
source | rio.commit (api/events/schemas.py:11) |
detail-type | Commit Submitted (api/events/schemas.py:20) |
detail.event_name | rio.commit.commit.submitted |
detail.entity_type | commit |
detail.action | submitted |
| Emitted at | api/services/forecast_service.py:1859-1864 |
What the payload carries
Only the audit envelope. The rich domain fields (amounts, breakdowns, quarter labels) are dropped before publishing - see the service page. before and after are always null.
Who consumes it
Only the Audit Service, through its catch-all rule matching any source beginning with rio. No service subscribes to it specifically.
Payload Schema
JSON Schema
Published when a sales rep submits their forecast commitment for a quarter. Envelope built by _enrich_event_detail (rio-commit-service/api/events/eventbridge.py:36-96) and published on source `rio.commit` with detail-type `Commit Submitted`.
rio.commit.commit.submittedrio.commitcommitcommitcommitThe forecast submission id.
submitteduserTaken from EventContextMiddleware contextvars.
Always null - the domain models never populate it.
Always null - the domain models never populate it.