Install Jentic One Beta
Jentic One is a self-hosted execution layer for AI agents. It lets your agent call the MailJunky 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%2Fmailjunky.ai%2Fmailjunky" | 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%2Fmailjunky.ai%2Fmailjunky" | 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 MailJunky API.
Send a transactional email with reply_to, tags, metadata, and a category
Send up to 100 emails in a single batch request
Import up to 1,000 contacts per batch and filter contacts by email, tag, or status
Update a contact's properties, tags, or status, such as marking it unsubscribed
Track a user event such as purchase_completed with properties, session_id, and browser context
GET STARTED
Read email statistics over 24h, 7d, 30d, or 90d ranges and event statistics
Patterns agents use MailJunky API for, with concrete tasks.
★ AI agent sending transactional email through Jentic
An order-handling agent needs to email a confirmation the moment a purchase lands. Through Jentic it searches for 'send a transactional email', loads the MailJunky send operation with its input schema, and posts from, to, subject, and html with a category of 'orders'. The live API key is injected at call time, so the agent never holds it.
Call POST /emails/send with from 'orders@yourdomain.com', to 'customer@example.com', subject 'Order confirmed', html, and category 'orders'
Event-driven lifecycle email
A product team wants email to follow what users actually do. MailJunky tracks named events such as purchase_completed or page_viewed for a user, with custom properties, a session_id, and browser context, and its contacts carry tags and properties for segmentation. Event statistics then show which events are firing most.
Call POST /events/track with event 'purchase_completed', user 'jane@example.com', and properties holding the plan name, then GET /events/stats
Contact import and cleanup
Moving an existing list into MailJunky means importing in bulk and keeping status accurate. The batch import accepts 1 to 1,000 contacts per call with names, phone, properties, and tags, contacts can be listed by tag or status, and a contact's status can be updated when someone unsubscribes.
Call POST /contacts/batch with a contacts array of up to 1000 records, then GET /contacts with tag 'customer' and limit 100
13 endpoints — the mailjunky api sends transactional email, tracks user events, and keeps a contact list that email workflows can act on.
METHOD
PATH
DESCRIPTION
/emails/send
Send an email
/emails/batch
Send batch emails
/contacts
Create or update a contact
/contacts
List contacts
/contacts/batch
Batch import contacts
/events/track
Track an event
/stats
Get email statistics
/emails/send
Send an email
/emails/batch
Send batch emails
/contacts
Create or update a contact
/contacts
List contacts
/contacts/batch
Batch import contacts
/events/track
Track an event
/stats
Get email statistics
What agents get from Jentic-routed access to this vendor.
Setup
Wiring MailJunky by hand means choosing between bearer and X-API-Key auth, keeping live and public keys apart, and honouring Retry-After when rate limited. Through Jentic you install once, import MailJunky from the API Directory, store the key once, and your agent calls it.
Permission scoping
MailJunky puts the contact id in the URL path (/contacts/{id}), so a rule can pin your agent to one contact, while sends and events carry their targets in the request body, so rules there bound which operations it may call. You choose the operations it may call, so ones like batch sends or contact deletion are not included unless you add them.
Credential isolation
Your MailJunky 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 'send a transactional email' or 'track a user event', and Jentic returns the matching MailJunky 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 MailJunky API through Jentic.
What authentication does the MailJunky API use?
MailJunky declares an API key sent as a bearer token in the Authorization header, with the X-API-Key header as an alternative, per its OpenAPI spec. Live keys start with mj_live_, while public mj_pub_ keys are restricted to event tracking. GET /health needs no key. Through Jentic the key is stored by your own instance and attached at call time.
Can I send emails in bulk with the MailJunky API?
Yes. POST /emails/batch takes an emails array of 1 to 100 messages, each with its own from, to, and subject, so one request can send a set of reminders or notifications.
What are the rate limits for the MailJunky API?
The OpenAPI spec does not state a numeric limit, but every response carries X-RateLimit-Limit, X-RateLimit-Remaining, and X-RateLimit-Reset headers, plus Retry-After when you are limited. Check https://mailjunky.ai for plan limits.
Is there a MailJunky MCP server?
You don't need an MCP server to give your agent MailJunky. Jentic connects it directly from the API Directory: import it, store your API key once, and your agent calls the send, contact, and event operations on demand without loading another server's tool definitions into its context.
How do I track an event through Jentic?
Search Jentic for 'track a user event', load the POST /events/track operation, and run it with the event name, the user, and any properties. To run it on your own infrastructure, install Jentic One from its GitHub repo.
Can I limit what my agent is allowed to do with the MailJunky API?
Yes. For example, a rule that allows POST /events/track and GET /stats lets an analytics agent record events and read email statistics while it cannot send email or delete contacts. Jentic logs each call the agent makes.
For Agents
Send transactional email singly or in batches of 100, track user events, and keep tagged contacts with MailJunky, then read email and event statistics.
Use for: I need to send an order confirmation email, Send a batch of reminder emails to this week's trial users, Find all contacts tagged as customers, Track a purchase_completed event for this user
Not supported: Does not send SMS, push notifications, or design marketing campaigns. Use for transactional email, contacts, and event tracking only.
The MailJunky API sends transactional email, tracks user events, and keeps a contact list that email workflows can act on. A send takes from, to, subject, and html or text, with reply_to, tags, metadata, and a category, and a batch call sends up to 100 emails at once. Contacts carry first_name, last_name, phone, custom properties, tags, and a status, and can be imported up to 1,000 per batch or filtered by email, tag, and status. Events such as purchase_completed are tracked with properties, a session_id, and browser context, and statistics summarise email and event activity over ranges such as 7d or 30d.
This API is usable in Jentic One now. Its AI-readiness score against Jentic's framework shows where it stands today and where improvements would make it even easier for agents to use.
Base layer of spec validity and structural soundness.
Aggregated quality score from linter diagnostics, weighted by severity.
Percentage of `$ref` references that resolve successfully.
Checks whether the API description parses successfully and conforms to its declared specification (e.g., OpenAPI).
Structural correctness score based on schema issues using logarithmic dampening.
Clarity, completeness, and ingestion readiness for developers and tooling.
How richly the API is illustrated with examples.
Percentage of examples that conform to their schemas.
Percentage of operations with complete response definitions (success, client error, server error).
Health of API ingestion, bundling, and resolution within Jentic pipelines.
Semantic breadth, depth, and agent comprehension for AI systems.
Coverage of descriptions across API elements.
Coverage of RFC 9457 Problem Details for error responses.
Coverage, uniqueness, and casing consistency of operationIds for AI inference.
Coverage of summaries across operations/tags/info.
Functional utility, complexity comfort, and AI orchestration readiness.
Agent comfort level based on API operational and structural complexity.
Trust, risk posture, and security compliance.
Average quality of security schemes based on authentication method strength (weakest link for OAuth2).
Findability, semantic richness, and reasoning readiness.
Clarity and depth of descriptions across API elements.
Score it yourself
Every API in the directory is allowlisted, so you can re-score it with no key required.
npx @jentic/api-scorecard-cli score <openapi-url>