The whole API, endpoint by endpoint
One REST API over transactional sending, campaigns, automation, and the contact graph they share. Every page below is generated from the API’s own OpenAPI document, so it describes what the service actually serves — not a copy of it that drifted.
Base URL
https://api.volanea.com
Endpoints
92
Auth
Bearer sk_…
Version
0.1.0
Your first call
Every endpoint takes a project API key as a bearer token. sk_… is server-side only; sk_test_… renders and logs but never delivers; pk_… is safe in client code and is accepted only by POST /v1/events.
cURL
curl https://api.volanea.com/v1/send \
-H "Authorization: Bearer sk_..." \
-H "Content-Type: application/json" \
-d '{
"to": "ada@example.com",
"subject": "Your order shipped",
"html": "<p>On its way, {{firstName}}.</p>"
}'Send
2 endpointsTransactional sending, with batching, scheduling, and idempotency.
Events
6 endpointsProduct event ingestion (public key) and the event log.
Contacts
13 endpointsThe contact graph: CRUD, timeline, bulk operations, CSV import/export.
- GET
/v1/contactsList contacts - POST
/v1/contactsCreate or update a contact - GET
/v1/contacts/exportExport contacts as CSV - POST
/v1/contacts/importImport contacts from CSV - GET
/v1/contacts/import/{id}Import job progress - POST
/v1/contacts/bulkBulk subscribe / unsubscribe / delete / suppress - GET
/v1/contacts/fieldsDiscover custom contact fields - GET
/v1/contacts/fields/{field}/valuesDistinct values for one custom field - GET
/v1/contacts/fields/{field}/usageHow many contacts have this field set - DELETE
/v1/contacts/fields/{field}Remove a custom field from every contact - GET
/v1/contacts/{id}Get a contact - DELETE
/v1/contacts/{id}Delete a contact - GET
/v1/contacts/{id}/timelineContact activity timeline
Emails
3 endpointsThe send log — every message across all sources.
Templates
9 endpointsReusable content with versioning, rollback, and test sends.
- GET
/v1/templatesList templates - POST
/v1/templatesCreate a template - GET
/v1/templates/{id}Get a template - PATCH
/v1/templates/{id}Update a template - DELETE
/v1/templates/{id}Delete a template - GET
/v1/templates/{id}/versionsList template versions - POST
/v1/templates/{id}/duplicateDuplicate a template - POST
/v1/templates/{id}/rollbackRoll back to a version - POST
/v1/templates/{id}/test-sendTest-send a template
Domains
5 endpointsSending domains, DNS records, and verification.
Segments
10 endpointsDynamic (condition-driven) and static audiences.
- GET
/v1/segmentsList segments - POST
/v1/segmentsCreate a segment - POST
/v1/segments/previewPreview conditions - GET
/v1/segments/{id}Get a segment - PATCH
/v1/segments/{id}Update a segment - DELETE
/v1/segments/{id}Delete a segment - POST
/v1/segments/{id}/refreshRecompute membership - GET
/v1/segments/{id}/membersList members - POST
/v1/segments/{id}/membersAdd members (static segments) - DELETE
/v1/segments/{id}/members/{contactId}Remove a member (static segments)
Campaigns
13 endpointsOne-off broadcasts with scheduling, A/B subjects, and engagement stats.
- GET
/v1/campaignsList campaigns - POST
/v1/campaignsCreate a campaign - POST
/v1/campaigns/audience-countCount an audience before creating a campaign - GET
/v1/campaigns/{id}Get a campaign - PATCH
/v1/campaigns/{id}Update a campaign - DELETE
/v1/campaigns/{id}Delete a campaign - POST
/v1/campaigns/{id}/sendSend or schedule - POST
/v1/campaigns/{id}/cancelCancel a campaign - GET
/v1/campaigns/{id}/recipientsList recipients - GET
/v1/campaigns/{id}/linksPer-link click counts - POST
/v1/campaigns/{id}/duplicateDuplicate a campaign - POST
/v1/campaigns/{id}/resend-non-openersRe-send to non-openers - POST
/v1/campaigns/{id}/test-sendTest-send a campaign
Workflows
11 endpointsEvent-triggered automation graphs and their executions.
- GET
/v1/workflowsList workflows - POST
/v1/workflowsCreate a workflow - GET
/v1/workflows/{id}Get a workflow - PATCH
/v1/workflows/{id}Update a workflow - DELETE
/v1/workflows/{id}Delete a workflow - POST
/v1/workflows/{id}/duplicateDuplicate a workflow - POST
/v1/workflows/{id}/enrollEnroll a contact - GET
/v1/workflows/{id}/executionsList executions - POST
/v1/workflows/{id}/executions/cancel-allCancel every in-flight execution - POST
/v1/workflows/{id}/executions/{executionId}/cancelCancel one execution - GET
/v1/workflows/executions/{executionId}Get an execution
Webhooks
6 endpointsSigned event deliveries to your endpoints, with retries and replay.
Suppressions
5 endpointsThe do-not-send list: bounces, complaints, unsubscribes, and manual blocks.
Stats
2 endpointsEngagement aggregates: the project rollup and the per-workflow funnel.
Verify
1 endpointEmail address validation.
Billing
2 endpointsUsage, monthly caps, reputation, and invoices.
Inbound
2 endpointsInbound mail ingestion (used by the SMTP relay).
Meta
2 endpointsAPI metadata.