Know of an official OpenAPI document? Contribute it →
For Agents
Manage EmailOctopus lists, contacts, tags, campaigns, and per-campaign reports for email-marketing workflows. Authenticated with an API key.
Use for: I need to add a contact to an EmailOctopus list, Find all contacts in a list with a specific tag, Create a new campaign and queue it for sending, Get the open and click rates for last week's campaign
Not supported: Does not handle SMS, transactional email, landing-page builders, or paid-ad management - use for email-marketing lists, contacts, tags, campaigns, and reports only.
Jentic publishes the only available OpenAPI specification for EmailOctopus API, keeping it validated and agent-ready. EmailOctopus is an email-marketing platform, and its v2 API exposes 25 endpoints across lists, contacts, tags, campaigns, campaign reports, and automations. Reports are particularly rich: per-campaign endpoints return openers, clickers, bounces, complainers, sent, and unsubscribed contacts as separate collections. The API is rooted at https://emailoctopus.com with paths under /api/2.0/.
Install Jentic One Beta
Jentic One is a self-hosted execution layer for AI agents. It lets your agent call the EmailOctopus API, or any other public or private API you need. You set the rules, the agent never sees your credentials, and every call is logged.
Two steps, two machines. Install the instance in a safe environment, then register your agent from wherever it runs.
Step 1: Jentic One Host machine
# On the machine that will host your Jentic One instance:
curl -fsSL "https://jentic.com/install.sh?src=apis&api=%2Fapis%2Femailoctopus.com%2Femailoctopus" | shStep 2: Agent machine
# On the machine where your agent runs (keep this separate from the instance):
curl -fsSL "https://jentic.com/install.sh?src=apis&api=%2Fapis%2Femailoctopus.com%2Femailoctopus" | sh
jentic register # connects your agent to your Jentic One instanceJentic One is in public beta. The setup above keeps your agent separate from the instance, which is what you want before using real credentials: an agent running as the same OS user as Jentic One can read its stored keys directly. Just evaluating? A single local install is fine to start. See the secure deployment guide for the tiers.
What an agent can do with EmailOctopus API.
Manage subscriber lists with full CRUD via /api/2.0/lists
Add, update, and delete contacts within a list including tag and field assignments
Read campaign reports broken out by openers, clickers, bouncers, and complainers
Create and inspect email campaigns with /api/2.0/campaigns
Read configured automation flows via /api/2.0/automations
Tag contacts and read tag membership through /api/2.0/lists/{listId}/tags
Pull campaign-level engagement summaries for dashboards and exports
Patterns agents use EmailOctopus API for, with concrete tasks.
★ List Growth and Subscriber Sync
Sync subscribers from a website signup form, CRM, or e-commerce platform into EmailOctopus by calling POST /api/2.0/lists/{listId}/contacts. The same endpoint group supports updating custom fields, applying tags, and removing contacts on unsubscribe. Suitable for lists ranging from a few hundred to several hundred thousand subscribers.
POST a contact to /api/2.0/lists/{listId}/contacts with email, first_name, and a 'newsletter' tag, then GET the contact to confirm it was created
Campaign Performance Reporting
Build a marketing dashboard that pulls per-campaign open, click, bounce, and complaint counts from /api/2.0/campaigns/{campaignId}/reports/summary and the related per-cohort endpoints (clicked, opened, bounced, complained, unsubscribed). The breakouts let a dashboard render lists of who specifically engaged or failed, not just aggregates.
Fetch the report summary for campaign_id=abc123, then list the clicked-contacts via GET /api/2.0/campaigns/{campaignId}/reports/clicked for follow-up outreach
Audience Segmentation by Tag
Segment a list by tag using /api/2.0/lists/{listId}/tags and /api/2.0/lists/{listId}/tags/{tag} to find audience subsets for targeted sends. Combine with /api/2.0/lists/{listId}/contacts to read full contact records for the chosen tag and feed a campaign-creation flow with the right recipients.
List tags on list_id=xyz, fetch the 'product-launch-interest' tag membership, and create a new campaign targeting only those contacts
AI Agent Integration via Jentic
Build an AI marketing agent that drafts a campaign from a content brief, creates the campaign in EmailOctopus, and after the send pulls the report summary to write a results memo. Through Jentic, the agent searches by intent, loads the campaign-create schema, and executes without holding the API key in its prompt.
Search Jentic for 'create an EmailOctopus campaign', load the schema for POST /api/2.0/campaigns, and create a campaign from the latest content brief
25 endpoints — jentic publishes the only available openapi specification for emailoctopus api, keeping it validated and agent-ready.
METHOD
PATH
DESCRIPTION
/api/2.0/lists
Get all lists
/api/2.0/lists/{listId}/contacts
Add a contact to a list
/api/2.0/lists/{listId}/tags
Get tags for a list
/api/2.0/campaigns
Create a campaign
/api/2.0/campaigns/{campaignId}/reports/summary
Get campaign report summary
/api/2.0/campaigns/{campaignId}/reports/clicked
Get contacts who clicked a campaign link
/api/2.0/automations
List automations
/api/2.0/lists
Get all lists
/api/2.0/lists/{listId}/contacts
Add a contact to a list
/api/2.0/lists/{listId}/tags
Get tags for a list
/api/2.0/campaigns
Create a campaign
/api/2.0/campaigns/{campaignId}/reports/summary
Get campaign report summary
/api/2.0/campaigns/{campaignId}/reports/clicked
Get contacts who clicked a campaign link
/api/2.0/automations
List automations
What agents get from Jentic-routed access to this vendor.
Setup
Wiring EmailOctopus by hand means handling its API-key auth, threading list and campaign ids through the 2.0 paths, and mapping report endpoints yourself. Through Jentic you install once, import the EmailOctopus API from the API Directory, store the API key once, and your agent calls it.
Permission scoping
EmailOctopus puts the list and campaign ids in the URL path (/api/2.0/lists/{listId}/contacts, /api/2.0/campaigns/{campaignId}/reports/summary), so a rule can pin your agent to one list or campaign. You choose the operations it may call, so creating campaigns is not included unless you add it.
Credential isolation
Your EmailOctopus API key is stored once, encrypted, by your own Jentic One instance and injected at execution time. It never enters the agent's prompt, logs, or context.
Intent-based discovery
Agents search Jentic by intent such as 'add a contact to a list' or 'see who clicked a campaign', and Jentic returns the matching EmailOctopus operation with its input schema so the agent calls the right endpoint without browsing the reference docs.
Alternatives and complements available in the Jentic catalogue.
Specific to using EmailOctopus API through Jentic.
Why is there no official OpenAPI spec for EmailOctopus API?
EmailOctopus publishes its API reference as HTML at emailoctopus.com/api-documentation/v2 rather than as a versioned OpenAPI specification. Jentic generates and maintains this spec so AI agents and developers can call EmailOctopus via structured tooling. It is validated against the live API and kept up to date. Get started with Jentic One, the self-hosted execution layer.
What authentication does the EmailOctopus API use?
EmailOctopus v2 uses an API key issued from the dashboard. Through Jentic, the key is stored encrypted in the vault and injected at execution time so the agent never sees the raw key in its prompt or logs.
Can I see who clicked a specific campaign link?
Yes. GET /api/2.0/campaigns/{campaignId}/reports/clicked returns the contacts who clicked at least one link in the campaign. The same campaign-reports group exposes opened, bounced, complained, sent, and unsubscribed cohorts as separate endpoints.
How do I tag a contact?
Apply tags by including a tags array on the contact when calling POST /api/2.0/lists/{listId}/contacts or PUT /api/2.0/lists/{listId}/contacts/{contactId}. Read tag membership for a list with GET /api/2.0/lists/{listId}/tags and GET /api/2.0/lists/{listId}/tags/{tag}.
How do I create a campaign through EmailOctopus via Jentic?
Run the Jentic search query 'create an EmailOctopus campaign', load the input schema for POST /api/2.0/campaigns, then execute with the campaign name, subject, content, and target list ID. Jentic injects the API key at execution time.
Does the EmailOctopus API expose automations?
Yes, but read-only. GET /api/2.0/automations lists configured automations and GET /api/2.0/automations/{automationId} fetches a single automation. Authoring and editing automations is currently a dashboard-only operation.
Can I limit what my agent is allowed to do with the EmailOctopus API?
Yes. Because you run Jentic One yourself, your own rules decide which EmailOctopus operations and credentials the agent may use, so you can allow read-only report calls like GET /api/2.0/campaigns/{campaignId}/reports/clicked while withholding contact writes or campaign creation via POST /api/2.0/campaigns. Since EmailOctopus puts the list and campaign ids in the URL path, such as /api/2.0/lists/{listId}/contacts, a rule can pin the agent to a single list or campaign. The API key stays with your instance and is injected only when an allowed operation runs, so the agent never handles it directly.
GET STARTED