Everything you need to integrate dripctl.
Install the SDK
npm install @dripctl/sdk
Initialize
import { DripCtl } from '@dripctl/sdk';
const dripctl = new DripCtl({
apiKey: process.env.DRIPCTL_API_KEY,
tenantId: process.env.DRIPCTL_TENANT_ID,
});All requests require a Bearer token. You get an API key when you create a tenant.
curl https://api.dripctl.dev/v1/sequences \ -H "Authorization: Bearer dpct_your_api_key"
Events trigger matching sequences. Fire them when users do things.
/v1/eventsSDK
await dripctl.events.create({
eventType: 'user.signup',
userId: 'jane@acme.com',
metadata: { plan: 'free' },
});curl
curl -X POST https://api.dripctl.dev/v1/events \
-H "Authorization: Bearer dpct_..." \
-H "Content-Type: application/json" \
-d '{
"eventType": "user.signup",
"userId": "jane@acme.com",
"metadata": {
"tenantId": "your-tenant-id",
"plan": "free"
}
}'Parameters
| Field | Type | Required | Description |
|---|---|---|---|
| eventType | string | yes | e.g. user.signup, user.activated |
| userId | string | no | Email or unique ID |
| payload | object | no | Arbitrary event data |
| metadata | object | no | Must include tenantId |
| tags | string[] | no | Filterable tags |
Sequences are email workflows triggered by events.
/v1/sequencesawait dripctl.sequences.create({
name: 'onboarding',
trigger: 'user.signup',
definition: {
steps: [
{ type: 'send', template: 'welcome' },
{ type: 'wait', delay: '3 days' },
{ type: 'send', template: 'tips' },
{ type: 'wait', delay: '7 days' },
{ type: 'send', template: 'upgrade' },
],
},
});/v1/sequencesList all sequences for your tenant.
/v1/sequences/:idGet a specific sequence by ID.
Step Types
| Type | Fields | Description |
|---|---|---|
| send | template, id? | Send an email using a template |
| wait | delay | Wait before next step (e.g. "3 days") |
| condition | property, yes, no | Branch based on user property/event |
| exit | reason? | End the sequence |
A run is a user's journey through a sequence. Created automatically when an event matches a sequence trigger.
/v1/runs/:id{
"id": "run_8f2ka...",
"sequenceId": "seq_...",
"userId": "jane@acme.com",
"status": "running",
"state": {
"currentStepIndex": 2,
"totalSteps": 5,
"stepsCompleted": 2
},
"createdAt": "2026-03-22T18:00:00Z"
}Private Beta
dripctl is in private beta. The API is stable but expanding. Join the waitlist for access and early pricing.