Skip to main content

Architecture overview

Vela architecture diagram Vela is a multi-tenant event intelligence platform. Here’s how the main entities relate:
Account
  └── App (1:many)
        ├── Schema (1:many) — defines event shapes
        ├── Event (1:many) — validated, stored payloads
        ├── Notification Rule (1:many) — conditional alerts
        └── API Key — used for event ingestion

Accounts

An account represents your organization. Each account can own multiple apps, and has a plan that determines limits.

Apps

An app is an isolated environment that owns everything: schemas, events, rules, and integrations. Think of apps as projects or services. Each app has:
  • A name and slug (globally unique identifier)
  • An API key (vela_live_...) for event ingestion
  • Its own set of schemas, events, and notification rules

Schemas

A schema defines the expected shape of an event payload. Every event you ingest must match a registered schema. Schemas enforce:
  • Required fields — the event is rejected if they’re missing
  • Field typesstring, number, boolean, date, enum, object
  • Validation rules — min/max length, regex patterns, enum values
  • Metadata fields — optional contextual data (environment, trace ID, etc.)
Register schemas before ingesting events. Events without a matching schema are rejected.

Events

Events are structured data payloads sent to Vela. Each event has:
FieldDescription
eventEvent name (must match a schema’s eventName)
dataPayload validated against the schema’s fields
levelSeverity: info, warning, error, success
customer_idOptional customer identifier for filtering
metadataOptional contextual data validated against metadata fields
timestampOptional ISO-8601 timestamp (defaults to ingestion time)

Event levels

LevelWhen to use
infoNormal business events — order placed, user signed up
successCompleted flows — payment captured, email delivered
warningDegraded but non-critical — retry attempt, slow response
errorFailures requiring attention — payment failed, webhook error

Notification Rules

Rules watch for events matching a name and optional conditions, then deliver alerts through configured destinations. A rule has:
  • Event name — which events to watch
  • Conditions — optional field-level filters (e.g., amountCents > 10000)
  • Actions — where to send the alert (Slack, Discord, email)
Destinations are configured in the dashboard — the SDK/API just references them by ID.

Authentication

Vela uses two types of credentials:
CredentialFormatUsed forAuth method
Client secretvela_cs_...Management API (apps, schemas, rules)Authorization: Bearer header
API keyvela_live_...Event ingestionx-api-key header
Both are generated in the Vela dashboard. See the credentials guide for details.