REST API reference
Base URL: https://api.onepush.app. Authenticate with Bearer tokens. JSON request and response bodies unless noted.
Authentication
Pass your API key in the Authorization header as Bearer <key>. Public keys (pk_) work for event tracking. Secret keys (sk_) are required for sending email, campaigns, and form management. Enterprise keys (ek_) are for the enterprise provisioning API. Create keys in the dashboard under Settings → API Keys.
Authorization: Bearer sk_xxxxxxxxxxxxPOST /v1/track
Track a user event. Creates or updates the contact and triggers any actions (automations) linked to the event. Accepts pk_ or sk_ keys. Reserved event names: subscribe and unsubscribe.
{
"event": "signup",
"email": "user@example.com",
"subscribed": true,
"data": {
"plan": { "value": "pro", "persistent": true }
}
}POST /v1/send
Send a transactional email. Requires sk_ key and a verified sending domain. The to field accepts a string or array of addresses.
{
"to": ["user@example.com"],
"subject": "Order confirmed",
"body": "<h1>Thanks for your order</h1>",
"from": "noreply@yourdomain.com",
"name": "Your App",
"reply": "support@yourdomain.com"
}Contacts — /v1/contacts
List, create, update, and delete contacts. Block, unblock, subscribe, unsubscribe, and manage tags. Requires sk_ key.
GET /v1/contacts
GET /v1/contacts/:id
GET /v1/contacts/count
POST /v1/contacts
PUT /v1/contacts
DELETE /v1/contacts
POST /v1/contacts/block
POST /v1/contacts/unblock
POST /v1/contacts/subscribe
POST /v1/contacts/unsubscribe
PUT /v1/contacts/tagsActions (automations) — /v1/actions
Create and manage automated email sequences triggered by events. Configure delays, templates, and conditions in the dashboard or via API.
GET /v1/actions/:id
GET /v1/actions/:id/related
POST /v1/actions
PUT /v1/actions
DELETE /v1/actions
POST /v1/actions/clear-queueTemplates — /v1/templates
Create, duplicate, update, and delete reusable email templates used by actions and campaigns.
GET /v1/templates/:id
POST /v1/templates
POST /v1/templates/duplicate
PUT /v1/templates
DELETE /v1/templatesCampaigns — /v1/campaigns
Manage one-off email campaigns and send them to segmented contacts. Use POST /v1/campaigns/send to trigger delivery.
GET /v1/campaigns/:id
POST /v1/campaigns
POST /v1/campaigns/send
POST /v1/campaigns/duplicate
PUT /v1/campaigns
DELETE /v1/campaignsForms — /v1/forms and public embed
Manage forms with the secret key. Embed on any site with the public script endpoint, or accept submissions directly.
GET /v1/forms
GET /v1/forms/:id
GET /v1/forms/:id/submissions
GET /v1/forms/:id/submissions/export.csv
POST /v1/forms
PUT /v1/forms
DELETE /v1/forms
# Public (no API key)
GET /forms/:id/embed.js
POST /forms/:id/submitGET /health
Health check endpoint. Returns { "success": true } when the API is available.
curl https://api.onepush.app/healthDelivery events
Email delivery, bounce, open, click, and complaint events are processed through AWS SES notifications. Configure your application to consume delivery data via the dashboard email logs and analytics. Incoming integration webhooks (Stripe, Shopify) are available for billing and commerce workflows.