canonical: https://jentic.com/apis/marlie.ai/marlie-ai

# Marlie AI API

Jentic publishes the only available OpenAPI specification for Marlie AI API, keeping it validated and agent-ready. Marlie AI provides a small, focused interface to retrieve AI voice-call records and call analytics for a connected business. Customers use it to pull historical call lists, fetch a single call's transcript and metadata, look up business profile information, and read aggregated call analytics. The API is intended for businesses that have deployed Marlie's AI voice agent and want to feed call outcomes into reporting, CRMs, or downstream automations.

## For AI agents

Pull AI voice call records, fetch individual call transcripts, and retrieve call-volume analytics for a Marlie-connected business.

## Scope

Does not place outbound calls, configure the voice agent's prompts, or stream audio in real time - use for retrieving call records, transcripts, and analytics only.

## Capabilities

- List all AI voice calls handled by Marlie for the connected business
- Fetch the transcript and metadata for a specific call by ID
- Retrieve the business profile linked to the API token
- Pull aggregated analytics on call volume and outcomes
- Filter call lists for downstream CRM or reporting sync

## Use cases

### CRM Call Logging

Service businesses using Marlie as their AI voice receptionist need every handled call logged into their CRM. The Marlie API exposes a list-calls endpoint plus per-call detail, so a sync job can pull new calls hourly and create matching CRM activity records with the full transcript attached.

Example prompt: Call `GET /calls` filtered to the last hour and create a CRM activity record for each new call_id with the transcript pulled from `GET `/calls/{call_id}``.

### Call Analytics Dashboard

Owners of small businesses want a daily view of how many calls Marlie answered, how many resulted in bookings, and trend lines over time. The `/analytics/calls` endpoint returns aggregated counts that a dashboard can render directly without computing rollups client-side.

Example prompt: Call `GET `/analytics/calls`` and render the daily total-calls and answered-calls counts for the past 30 days.

### Missed Call Follow-up

When the AI agent flags a call as needing a human follow-up, the business owner wants a quick list of those calls each morning. The list endpoint returns enough metadata (timestamp, caller, outcome) to triage which calls a team member should return personally.

Example prompt: Call `GET /calls` filtered to outcomes that require follow-up and produce a morning summary email of caller numbers and reasons.

### AI Agent Customer Support Briefing

A customer-support AI agent can use Jentic to fetch a caller's most recent Marlie call before responding to a follow-up email, so it has the right context. Jentic stores the bearer token and exposes Marlie's small operation set behind intent-based search, keeping integration trivial for downstream agents.

Example prompt: Search Jentic for 'fetch latest ai voice call', load the Marlie `/calls` schema, and execute it filtered by today to brief the support agent.

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| GET | `/calls` | List AI voice calls |
| GET | `/calls/{call_id}` | Fetch transcript and metadata for one call |
| GET | `/business` | Retrieve the business profile |
| GET | `/analytics/calls` | Aggregated call analytics |

## Key resources

- **Calls** — List AI voice calls and fetch transcripts and metadata per call.
- **Business** — Retrieve the business profile connected to the Marlie token.
- **Analytics** — Aggregated call-volume and outcome metrics.

## Why Jentic

- **Setup:** Wiring Marlie AI by hand means setting its bearer auth, learning the /calls, /business, and /analytics paths, and parsing the call and transcript records yourself. Through Jentic you install once, import the Marlie AI API from the API Directory, store the token once, and your agent calls it.
- **Permission scoping:** The Marlie endpoints are read-only call and analytics lookups, so scoping is by operation: you limit the agent to the operations it needs, such as listing calls, reading a call transcript, or fetching call analytics, and leave out the rest. Every operation you allow is one you have chosen, so the agent stays inside that set.
- **Credential handling:** Your Marlie AI bearer token 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.
- **Discovery method:** Agents search Jentic by intent such as 'list AI voice calls' or 'get a call transcript', and Jentic returns the matching Marlie operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **Retell AI API** — Retell AI offers a developer platform for building real-time AI voice agents.
- **Bland AI API** — Bland AI provides programmatic AI phone calling for outbound and inbound campaigns.
- **Twilio Voice API** — Twilio Voice handles the underlying telephony layer for many voice AI providers.

## FAQ

### Why is there no official OpenAPI spec for Marlie AI API?

Marlie AI does not publish an OpenAPI specification. Jentic generates and maintains this spec so that AI agents and developers can call the Marlie AI API 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 Marlie AI API use?

Marlie AI uses HTTP bearer-token authentication. Through Jentic, the token is stored encrypted in your Jentic One instance and the `Authorization: Bearer ...` header is applied automatically when the agent executes a call.

### Can I retrieve call transcripts with the Marlie AI API?

Yes. `GET `/calls/{call_id}`` returns the full transcript and metadata for a specific call. Use `GET /calls` first to list call IDs from the time window you care about.

### What are the rate limits for the Marlie AI API?

Marlie AI does not publish hard rate limits in the spec. Given the small endpoint surface (4 endpoints), conservative client-side throttling at 1-2 requests per second per business token is sufficient for most CRM-sync workloads.

### How do I sync new Marlie calls into a CRM through Jentic?

Run `pip install jentic`, then use Jentic's search with the query 'list ai voice calls'. Jentic loads the `/calls` operation schema and your agent executes it incrementally, then fetches each transcript via `/calls/{call_id}` for the CRM activity record.

### Does the Marlie AI API expose call analytics?

Yes. `GET `/analytics/calls`` returns aggregated call metrics (volume and outcomes) so dashboards do not need to compute rollups client-side.

### Can I limit what my agent is allowed to do with the Marlie AI API?

Yes. Because you run Jentic One yourself, your own rules decide which Marlie operations the agent may call and which credentials it may use. The Marlie endpoints are all read-only lookups, so you can allow just the operations the agent needs, such as listing calls with GET /calls, reading a transcript with GET `/calls/{call_id}`, or fetching analytics with GET `/analytics/calls`, and leave out the rest. Every operation the agent can reach is one you explicitly permitted, and its bearer token stays encrypted in your instance rather than in the agent's context.
