canonical: https://jentic.com/apis/emailfig.com/emailfig

# EmailFig API

The EmailFig API keeps contacts, lists, tags, and custom fields in sync between your app and your email program, and reads how your campaigns performed. It creates or updates contacts, adds and removes them from lists, tags and untags them, manages custom fields, reads forms and campaigns, and delivers events through webhook endpoints you can test. Contacts, tags, and campaigns come back in cursor-paginated pages you can carry filters across.

## For AI agents

Sync contacts, lists, tags, and custom fields with your email program, read campaign and form data, and manage webhook endpoints, all through one bearer-authenticated API.

## Scope

Does not send transactional email, manage SMS, or run paid ads. Use for managing contacts, lists, tags, custom fields, and reading campaigns only.

## Capabilities

- Create or update a contact and read it back
- Add contacts to a list and remove them from it
- Tag and untag contacts
- Define and update custom fields for contacts
- Read forms and campaign performance
- Register, test, and manage webhook endpoints

## Use cases

### Agent-synced contacts

An AI agent keeps a mailing audience in step with your app. Through Jentic the agent creates or updates a contact, subscribes it to the right list, and sets custom fields, so a new signup in your product becomes a managed contact without a manual export. Contacts come back in cursor-paginated pages the agent can walk.

Example prompt: Create or update a contact, add it to a named list, and set a custom field on it

### List and tag hygiene

A workflow keeps segments clean. The API tags and untags contacts, adds and removes them from lists, and unsubscribes an address, so an agent can re-segment an audience or honor an opt-out across the account. Tags are returned in pages so large audiences can be processed in batches.

Example prompt: Tag every contact on a list, then unsubscribe any address that opted out

### Campaign performance read

A reporting agent summarizes how email went. The API lists campaigns and reads a single campaign, and reads the forms that collect signups, so an agent can pull performance for a digest without opening the dashboard. Forms tie new contacts back to where they came from.

Example prompt: List recent campaigns, read one campaign's performance, and summarize it for a weekly report

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| POST | `/contacts` | Create or update a contact |
| GET | `/contacts` | List contacts |
| POST | `/lists/{list_id}/contacts` | Add a contact to a list |
| POST | `/contacts/{contact_id}/tags` | Tag a contact |
| GET | `/campaigns` | List campaigns |
| POST | `/custom_fields` | Create a custom field |
| POST | `/webhooks` | Create a webhook endpoint |
| GET | `/forms` | List forms |

## Key resources

- **Contacts** — Create or update, read, update, delete, and unsubscribe contacts
- **Lists** — Read lists and add or remove contacts from them
- **Tags** — Tag and untag contacts
- **Custom fields** — Create, update, and delete custom fields for contacts
- **Campaigns and forms** — Read campaign performance and signup forms
- **Webhooks** — Create, read, update, delete, sample, and test webhook endpoints

## AI readiness

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.

- **Score:** 65 / 100
- **Maturity:** AI-Aware
- **Dimensions:**
  - Foundational Compliance: 74 / 100
  - Developer Experience & Jentic Compatibility: 65 / 100
  - AI-Readiness & Agent Experience: 50 / 100
  - Agent Usability: 94 / 100
  - Security: 60 / 100
  - AI Discoverability: 73 / 100
- **View full report:** https://jentic.com/apis/emailfig.com/emailfig/scorecard
- **How the score is calculated:** https://docs.jentic.com/reference/api-readiness-framework/overview/
- **More about the dimensions:** https://docs.jentic.com/reference/api-readiness-framework/specification/#dimensional-model-overview

### Score it yourself

Every API in the directory is allowlisted, so you can re-score it with no key required.

- **Score your own API:** https://jentic.com/scorecard.md
- **Scoring CLI agent skill:** https://github.com/jentic/jentic-api-scorecard/blob/main/skills/jentic-api-scorecard/SKILL.md

```sh
npx @jentic/api-scorecard-cli score <openapi-url>
```

## Why Jentic

- **Setup:** Wiring the EmailFig API by hand means handling its bearer key, following cursor pagination through contacts and campaigns, and keeping custom fields in step with your own schema. Through Jentic you install once, import EmailFig from the API Directory, store the key once, and your agent calls it.
- **Permission scoping:** EmailFig puts the list and contact id in the URL path (`/lists/{list_id}/contacts` and `/contacts/{id}`), so a rule can pin your agent to the operations it needs, such as adding contacts to one list and reading campaigns. Erasing a contact is not included unless you add it.
- **Credential handling:** Your EmailFig 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.
- **Discovery method:** Agents search Jentic by intent such as 'add a contact to a list' or 'read a campaign's performance', and Jentic returns the matching EmailFig operation with its input schema so the agent calls the right endpoint without reading the reference docs.

## Related APIs

- **Mailchimp** — Manages audiences, campaigns, and automations at scale
- **MailerLite** — Handles subscribers, groups, campaigns, and automations
- **Brevo** — Sends transactional and marketing email with delivery tracking

## FAQ

### What authentication does the EmailFig API use?

The EmailFig API authenticates with a bearer API key per its OpenAPI spec: you create a key under Settings and send it as `Authorization: Bearer emf_live_...`, and an account call confirms the key works. Through Jentic the key is stored encrypted by your own Jentic One instance and injected at call time, so it never enters the agent's context.

### Is there an EmailFig MCP server?

You don't need an MCP server to give your agent the EmailFig API. Jentic connects it directly from the API Directory: import it, store your key once, and your agent calls the contact, list, and campaign operations on demand without loading another server's tool definitions into its context.

### Can I sync contacts with the EmailFig API?

Yes. A single operation creates or updates a contact, and others add it to or remove it from a list, tag or untag it, set custom fields, and read it back. Contacts are returned in cursor-paginated pages, and you keep the same filters as you page through them.

### What are the rate limits for the EmailFig API?

The OpenAPI spec does not state specific rate limits, though contacts, tags, and campaigns are paged at up to 100 per request. Check the provider's documentation at https://emailfig.com for the current limits on your plan.

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

Yes. EmailFig puts the list and contact id in the URL path, so write a rule that lets your agent add contacts to one list and read campaigns while erasing a contact stays out of its reach. Every call it makes is logged.

### How do I add a contact to a list with the EmailFig API through Jentic?

Search Jentic for 'add a contact to a list' and it returns the operation with its input schema; your agent creates the contact and subscribes it to the list you name. To run it on your own infrastructure, install Jentic One from its GitHub repo.
