Install Jentic One Beta
Jentic One is a self-hosted execution layer for AI agents. It lets your agent call the MailInApp 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%2Fmailinapp.com%2Fmailinapp" | 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%2Fmailinapp.com%2Fmailinapp" | 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 MailInApp API.
Send a transactional or marketing email freeform or from a studio project with mergeData
Upsert one contact or up to 500 contacts per batch into a list, and find a contact by email
Enroll a contact in a journey that accepts API-triggered enrollment
Create a deal with value, currency, pipelineId, and stageId, then move it to another stage
GET STARTED
Schedule a webinar and register attendees by email and name
Grant or revoke course membership access and mint a member-portal embed URL
Subscribe a URL to account events with REST Hooks and preview sample event payloads
Patterns agents use MailInApp API for, with concrete tasks.
★ AI agent nurturing a new lead through Jentic
A sales-assist agent receives a demo request and needs to file it and start follow-up. Through Jentic it searches for 'add a contact to a list', loads the MailInApp upsert operation, adds the lead to a list with fields, creates a deal in the right pipeline stage, and enrolls the contact in an API-triggered journey. The API key is injected at call time.
Call POST /api/v1/contacts with listId and email 'lead@example.com', POST /api/v1/deals with title 'Demo request' and pipelineId, then POST /api/v1/journeys/{id}/trigger with email and listId
Transactional email from an app
An app sends receipts and password resets and wants them designed in a studio template. MailInApp sends with a projectId and mergeData for the template, or freeform with subject, html, and text, and marks suppressed or invalid addresses as not sent. An Idempotency-Key header lets a retried send avoid a duplicate.
Call POST /api/v1/send with to 'customer@example.com', type 'transactional', projectId, and mergeData holding the order number
Webinar and course access
Creators running webinars and paid courses want registrations and access in one place. MailInApp schedules a webinar with a title, scheduledAt, and capacity, registers attendees by email and name, grants or revokes course membership with the active flag, and mints a member-portal embed URL so a buyer lands straight in the course.
Call POST /api/v1/courses/{id}/enroll with email and active true after a purchase, then POST /api/v1/courses/{id}/embed-token for the same email
Event hooks for Zapier or n8n
Automation builders want MailInApp events to start flows elsewhere. REST Hooks subscriptions register a URL for chosen events, sample payloads can be fetched by type before wiring a flow, and each delivery is signed with an HMAC in X-MailInApp-Signature and carries X-MailInApp-Idempotency-Key so a receiver can drop redeliveries.
Call GET /api/v1/events/sample for an event type, then POST /api/v1/webhooks with url and events to subscribe
19 endpoints — the mailinapp api sends transactional and marketing email, keeps contacts in lists, and enrolls people in automated journeys, with deals, webinars, and course memberships on the same account.
METHOD
PATH
DESCRIPTION
/api/v1/send
Send an email
/api/v1/contacts
Create or update contacts
/api/v1/journeys/{id}/trigger
Enroll a contact in a journey
/api/v1/deals
Create a deal
/api/v1/deals/{id}
Update or move a deal
/api/v1/webinars/{id}/register
Register for a webinar
/api/v1/courses/{id}/enroll
Grant or revoke course access
/api/v1/webhooks
Subscribe to events
/api/v1/send
Send an email
/api/v1/contacts
Create or update contacts
/api/v1/journeys/{id}/trigger
Enroll a contact in a journey
/api/v1/deals
Create a deal
/api/v1/deals/{id}
Update or move a deal
/api/v1/webinars/{id}/register
Register for a webinar
/api/v1/courses/{id}/enroll
Grant or revoke course access
/api/v1/webhooks
Subscribe to events
What agents get from Jentic-routed access to this vendor.
Setup
Wiring MailInApp by hand means a bearer key, Idempotency-Key headers on sends and deals, per-route-family rate limits, and verifying HMAC-signed webhooks. Through Jentic you install once, import MailInApp from the API Directory, store the key once, and your agent calls it.
Permission scoping
MailInApp puts journey, deal, webinar, and course ids in the URL path, such as /api/v1/journeys/{id}/trigger, so a rule can pin your agent to one journey or one course and the operations you pick. You choose the operations it may call, so ones like sending email, revoking course access, or unsubscribing a webhook are not included unless you add them.
Credential isolation
Your MailInApp 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 'enroll a contact in a journey' or 'send an email', and Jentic returns the matching MailInApp 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 MailInApp API through Jentic.
What authentication does the MailInApp API use?
The MailInApp API authenticates with an API key from Dashboard, Developers, sent as a bearer token in the Authorization header in the mia_live_ format, per its OpenAPI spec. One operation, GET /api/v1/liveview/{token}, takes no key because the signed token in its path is the authorization. Through Jentic the key is stored by your own instance and attached at call time.
What are the rate limits for the MailInApp API?
The MailInApp OpenAPI spec states that each key is rate limited per route family at 60 requests per minute unless an operation notes otherwise, and requests over the limit get a 429 response.
Can I enroll a contact in a journey with the MailInApp API?
Yes. GET /api/v1/journeys with the trigger filter set to `api` lists the journeys that accept enrollment, and POST /api/v1/journeys/{id}/trigger enrolls a contact by email and listId.
Is there a MailInApp MCP server?
You don't need an MCP server to give your agent MailInApp. Jentic connects it directly from the API Directory: import it, store your API key once, and your agent calls the send, contact, journey, and deal operations on demand without loading another server's tool definitions into its context.
How do I send an email through Jentic?
Search Jentic for 'send an email with MailInApp', load the POST /api/v1/send operation, and run it with to plus either subject and html or a projectId with mergeData. 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 MailInApp API?
Yes. For example, a rule that allows POST /api/v1/contacts and POST /api/v1/journeys/{id}/trigger for one journey id lets the agent add leads and start that one sequence while it cannot send ad hoc email, change deals, or delete webhook subscriptions. Jentic logs each call the agent makes.
For Agents
Send email, upsert contacts, enroll people in journeys, track deals, and register webinar attendees with MailInApp, plus signed webhook subscriptions for its events.
Use for: I need to send a welcome email to a new customer, Add these signups to my newsletter list, Enroll a lead in my onboarding journey, Create a deal for this contact in the sales pipeline
Not supported: Does not process payments, send SMS, or host webinar video streams. Use for email sends, contacts, journeys, deals, and webinar and course access only.
The MailInApp API sends transactional and marketing email, keeps contacts in lists, and enrolls people in automated journeys, with deals, webinars, and course memberships on the same account. A send can be freeform with subject and html, or use an existing studio project with mergeData, and suppressed or invalid addresses are skipped. Contacts are upserted one at a time or up to 500 per batch into a list, deals are created and moved between pipeline stages, and journeys with an API trigger accept enrollments by email. Account-level REST Hooks webhook subscriptions push signed events to Zapier, n8n, or your own backend.
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>