← Documentation home
API reference
All routes below live under the JSON API unless noted. Use this page with the programmatic quickstart for copy-paste examples.
Base URL: https://drippulse.io/api/v1 (or your self-hosted origin + /api/v1)
Health (unauthenticated): GET /health and GET /api/v1/health
Authentication
Most /api/v1/* endpoints require a Bearer token:
Authorization: Bearer <api_key_or_jwt>
- Organization API key — create under Dashboard → API Keys after sign-in. Preferred for automation.
- Session JWT — returned from Google OAuth or admin login; same header format.
Org-scoped resources only return data for the organization attached to the key or session.
Admin / session login
For trusted scripts only; never expose admin credentials in client-side code.
| Method | Path | Notes |
| POST | /api/v1/admin/login | JSON body: username, password → JWT + admin payload |
| POST | /api/v1/sessions/admin | Alias of admin login |
| POST | /api/v1/auth/login | Alias for programmatic clients |
| GET | /api/v1/admin/verify | Validate token |
Agents
| Method | Path | Description |
| GET | /agents | List agents |
| POST | /agents/spawn | Deploy from template or workflow |
| GET | /agents/:id | Show agent |
| PATCH | /agents/:id | Update (e.g. status, config) |
| DELETE | /agents/:id | Destroy agent |
| GET | /agents/:id/executions | Execution history |
| GET | /agents/:id/status | Status snapshot |
| GET | /agents/:id/logs | Logs |
| GET | /agents/:id/costs | Cost summary |
| GET | /agents/:id/metrics | Aggregated metrics |
| POST | /agents/:id/inference | Template agent — structured JSON / LLM |
| POST | /agents/:id/execute | Generic execute (policy-driven) |
| POST | /agents/:id/score_lead | Lead scorer step |
Agent templates
| Method | Path | Description |
| GET | /agent_templates | List |
| POST | /agent_templates | Create |
| GET | /agent_templates/:id | Show |
| PATCH | /agent_templates/:id | Update |
| DELETE | /agent_templates/:id | Destroy |
| PATCH | /agent_templates/:id/execution_policy | Update execution policy |
Webhooks (outbound catalog)
| Method | Path | Description |
| GET | /webhooks | List configured webhooks |
| GET | /webhooks/catalog | Available event types / schema |
| POST | /webhooks | Create |
| GET | /webhooks/:id | Show |
| PATCH | /webhooks/:id | Update |
| DELETE | /webhooks/:id | Destroy |
| POST | /webhooks/:id/test | Send test delivery |
| GET | /webhooks/:id/deliveries | Delivery history |
Projects
Standard resources :projects — index, show, create, update, destroy.
GET/POST /projects
GET/PATCH/DELETE /projects/:id
Team members
GET/POST /team_members
GET/PATCH/DELETE /team_members/:id
Workflows & enrollments
| Method | Path | Description |
| GET | /workflows | List |
| POST | /workflows | Create |
| GET | /workflows/step_types | Step type catalog (self-describing builder) |
| GET | /workflows/:id | Show |
| PATCH | /workflows/:id | Update |
| DELETE | /workflows/:id | Destroy |
| POST | /workflows/:id/test | Dry-run / test execution |
| GET | /workflows/:workflow_id/enrollments | List enrollments |
| POST | /workflows/:workflow_id/enrollments/bulk | Bulk create enrollments |
API keys
| Method | Path | Description |
| GET | /api_keys | List (secrets redacted) |
| POST | /api_keys | Create — full key returned once |
| GET | /api_keys/:id | Show |
| DELETE | /api_keys/:id/revoke | Revoke |
| GET | /api_keys/usage | Usage stats |
Reports
| Method | Path | Description |
| GET | /reports | List |
| POST | /reports/generate | Generate report |
| GET | /reports/:id | Show |
| DELETE | /reports/:id | Destroy |
| GET | /reports/:id/download | Download artifact |
| POST | /reports/:id/schedule | Schedule |
Account & billing (account)
| Method | Path | Description |
| GET | /account | Organization / profile |
| PATCH | /account | Update account |
| GET | /account/billing | Billing summary |
| PATCH | /account/billing | Update billing fields |
Analytics
GET /analytics/metrics
GET /analytics/charts
Monitoring
GET /monitoring/agents
GET /monitoring/reasoning/:agent_id
Integration connections
Slack, HubSpot, Salesforce, SendGrid, etc.
GET/POST /integration_connections
GET/PATCH/DELETE /integration_connections/:id
Data sources & runs
| Method | Path | Description |
| GET | /data_sources | List |
| POST | /data_sources | Create |
| GET | /data_sources/:id | Show |
| PATCH | /data_sources/:id | Update |
| DELETE | /data_sources/:id | Destroy |
| POST | /data_sources/:id/preview | Preview import |
| POST | /data_source_runs | Start run |
| GET | /data_source_runs/:id | Run status |
Billing (Stripe)
| Method | Path | Description |
| GET | /billing | Subscription state |
| POST | /billing/subscribe | Create subscription |
| POST | /billing/cancel | Cancel |
| POST | /billing/reactivate | Reactivate |
| GET | /billing/payment-methods | List payment methods |
| POST | /billing/checkout | Stripe Checkout session |
Inbound webhooks & tracking (no Bearer auth)
These use provider signatures, shared secrets, or are public tracking endpoints—not your org API key.
| Method | Path | Notes |
| POST | /webhooks/stripe | Stripe webhook |
| POST | /webhooks/lead_scoring | Lead scorer inbound (signed) |
| POST | /webhooks/nurture/bounce | ESP bounce / complaint |
| GET | /track/n/pixel.gif | Open pixel |
| GET | /track/n/click | Click redirect |
| GET / POST | /track/n/unsubscribe | List-unsubscribe |
OAuth (browser)
Google sign-in starts outside JSON API:
GET /auth/google_oauth2
GET /auth/google_oauth2/callback
Try it
- Read the quickstart.
- Sign in and create an API key.
- Call
GET /api/v1/agents with Authorization: Bearer …
DripPulse · drippulse.io · Documentation home