🚀
Ship faster
Templates and routing are dashboard-configured. Change copy, subjects, or channel priority without redeploying.
Define events + templates in the dashboard. Send from code. Track delivery IDs in Activity.
POST /v1/send/{event} — Sendivent selects a channelimport { Sendivent } from '@appitude/sendivent';
const client = new Sendivent(process.env.SENDIVENT_API_KEY);
const res = await client
.event('welcome')
.to('user@example.com')
.payload({ name: 'Alice' })
.send();
// { email: "550e8400-e29b-41d4-a716-446655440000" }
console.log(res.data);use Sendivent\Sendivent;
$client = new Sendivent(getenv('SENDIVENT_API_KEY'));
$res = $client
->event('welcome')
->to('user@example.com')
->payload(['name' => 'Alice'])
->send();
// { "email": "550e8400-e29b-41d4-a716-446655440000" }
print_r($res->data);import os
from sendivent import Sendivent
client = Sendivent(os.environ['SENDIVENT_API_KEY'])
res = client \
.event('welcome') \
.to('user@example.com') \
.payload({'name': 'Alice'}) \
.send()
# { "email": "550e8400-e29b-41d4-a716-446655440000" }
print(res.data)curl -X POST https://api.sendivent.com/v1/send/welcome \
-H "Authorization: Bearer $SENDIVENT_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "to": "user@example.com", "payload": { "name": "Alice" } }'
# { "success": true, "deliveries": [{ "email": "550e8400-..." }] }The response shows which channel was used and the delivery ID for tracking.