Skip to main content
The VelaIngestClient sends events to Vela. It authenticates with your app’s API key (vela_live_...).

Constructor

import { VelaIngestClient } from '@vela/sdk';

const client = new VelaIngestClient(apiKey: string, options?: VelaClientOptions);
OptionTypeDefaultDescription
baseUrlstringhttps://api.vela.devAPI base URL
timeoutnumber30000Request timeout in ms
fetchImpltypeof fetchglobalThis.fetchCustom fetch implementation

Send a single event

const result = await client.ingest({
  event: 'order.placed',       // required -- must match a registered schema
  data: {                       // required -- payload validated against schema
    orderId: 'ord_abc123',
    amountCents: 4999,
    currency: 'USD',
  },
  level: 'info',                // required -- 'info' | 'warning' | 'error' | 'success'
  customer_id: 'cust_42',       // optional
  metadata: { env: 'prod' },    // optional
  timestamp: '2024-06-01T12:00:00.000Z', // optional -- defaults to now
});

console.log(result.accepted);     // 1
console.log(result.events[0].id); // UUID of the ingested event

Send a batch

Send up to 100 events in a single request:
const result = await client.ingest([
  { event: 'order.placed',   data: { orderId: 'ord_1' }, level: 'info' },
  { event: 'order.placed',   data: { orderId: 'ord_2' }, level: 'info' },
  { event: 'payment.failed', data: { orderId: 'ord_3', reason: 'card_declined' }, level: 'error' },
]);

console.log(result.accepted); // 3

Event levels

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