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

# CommsHarbor

The CommsHarbor API sends transactional email on behalf of an organization and records what happens to every delivery. It registers and verifies sending domains against SES, DKIM, and DMARC, queues idempotent messages, exposes normalized delivery feedback events, and manages suppressions so bad addresses are not retried. A built-in tenant CRM stores contacts, companies, deals, pipelines, tasks, and marketing consent alongside the sending data. Authentication uses a bearer API key, with a session cookie for account-level operations.

## For AI agents

Send transactional email for an organization, verify sending domains, read delivery feedback events and suppressions, and manage a tenant CRM of contacts, companies, and deals.

## Scope

Does not handle SMS, voice calls, or push notifications. Use for transactional email delivery and tenant CRM management only.

## Capabilities

- Queue an idempotent transactional email for an organization
- Register a sending domain and verify its SES, DKIM, and DMARC state
- Read a delivery and its normalized SES feedback events
- Suppress a recipient so a bad address is not retried
- Store and update CRM contacts, companies, and deals in the tenant CRM
- Import contacts from a consent-declared CSV and export them back

## Use cases

### Agent-Sent Transactional Email

An AI agent connected through Jentic can send account notifications and confirmations without a mail server of its own: it queues an idempotent message for the organization and then reads the delivery's normalized SES feedback events to confirm the message was accepted and delivered. The idempotency key lets the agent retry safely without sending duplicates.

Example prompt: Queue a transactional email to a recipient and read its delivery events to confirm it was delivered

### Sending Domain Onboarding

Before an organization can send, its domain has to pass authentication checks. CommsHarbor registers a sending domain and probes SES, DKIM, DMARC, and custom MAIL FROM state on demand, so an agent can drive domain onboarding and report exactly which records still need DNS changes.

Example prompt: Register the sending domain example.com and check its SES, DKIM, and DMARC verification state

### Tenant CRM Management

CommsHarbor carries a tenant CRM beside its sending data, so the same credential that sends mail can keep records current. An agent creates and updates contacts, companies, deals, pipelines, and tasks, and records permission-based marketing consent for each contact, keeping the audience and its consent state in one place.

Example prompt: Create a contact in the tenant CRM and attach it to a deal in a pipeline

### Deliverability Hygiene

To protect sender reputation, an agent reviews what happened to recent mail and acts on it. It reads the feedback events for a delivery and suppresses any recipient that hard-bounced or complained, so CommsHarbor stops retrying addresses that damage deliverability.

Example prompt: Read the feedback events for a delivery and suppress any recipient that hard-bounced

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| POST | `/api/messages` | Queue an idempotent transactional email delivery |
| GET | `/api/organizations/{organization_id}/deliveries/{delivery_id}` | Read one delivery and its SES MessageId |
| GET | `/api/organizations/{organization_id}/deliveries/{delivery_id}/events` | List the normalized SES feedback events for a delivery |
| POST | `/api/organizations/{organization_id}/domains/{domain_id}/verify` | Check SES, DKIM, and DMARC state for a sending domain |
| POST | `/api/organizations/{organization_id}/crm/contacts` | Create a contact in the tenant CRM |
| POST | `/api/organizations/{organization_id}/suppressions` | Suppress a recipient in the organization |

## Key resources

- **Messages and Deliveries** — Queue transactional messages and read each delivery with its SES MessageId and feedback events
- **Sending Domains** — Register sending domains and verify their SES, DKIM, DMARC, and MAIL FROM state
- **Tenant CRM** — Manage contacts, companies, deals, pipelines, tasks, and marketing consent
- **Suppressions and Imports** — Suppress recipients and import or export contacts via consent-declared CSV

## 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:** 56 / 100
- **Maturity:** Foundational
- **Dimensions:**
  - Foundational Compliance: 42 / 100
  - Developer Experience & Jentic Compatibility: 68 / 100
  - AI-Readiness & Agent Experience: 59 / 100
  - Agent Usability: 52 / 100
  - Security: 58 / 100
  - AI Discoverability: 71 / 100
- **View full report:** https://jentic.com/apis/commsharbor.com/commsharbor/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 CommsHarbor by hand means handling its bearer API key, the mmk_ key prefix, a session cookie for account operations, and idempotency keys on every send. Through Jentic you install once, import CommsHarbor from the API Directory, store the key once, and your agent calls it.
- **Permission scoping:** CommsHarbor puts the organization id in the URL path (`/api/organizations/{organization_id}/...`), so a rule can pin your agent to one organization and the operations you pick. You choose what it may call, so destructive actions like deleting a sending domain or a CRM record are not included unless you add them.
- **Credential handling:** Your CommsHarbor 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 'send a transactional email' or 'verify a sending domain', and Jentic returns the matching CommsHarbor operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **Twilio SendGrid Mail** — SendGrid is a high-volume transactional and marketing email sender with its own deliverability tooling.
- **Resend** — Resend is a developer-first transactional email API focused on sending and delivery tracking.
- **Postmark** — Postmark specializes in fast transactional delivery and detailed message activity.
- **HubSpot CRM Contacts** — HubSpot provides a full standalone CRM that can hold contacts beyond the CommsHarbor tenant CRM.

## FAQ

### What authentication does the CommsHarbor API use?

Authenticated CommsHarbor endpoints use a bearer API key sent as an Authorization header (organisation keys use an mmk_ prefix), and account-level operations use a global session carried in an HttpOnly cookie per the OpenAPI spec. When you call it through Jentic, the key is stored once by your own Jentic One instance and injected at execution time, so it never reaches the agent's prompt or logs.

### Can I verify a sending domain with the CommsHarbor API?

Yes. The domain verify operation observes SES, DKIM, DMARC, and custom MAIL FROM state right now and stores what it saw, so an agent can register a sending domain, trigger a check, and report which DNS records still need attention before the organization sends mail.

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

The OpenAPI spec does not define numeric rate limits for the CommsHarbor API. Check the CommsHarbor documentation at https://commsharbor.com for the current sending and request limits that apply to your organization.

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

Yes. Write a rule that allows only the message-send and delivery-read operations for one organization, so the agent can send mail and check its delivery events but cannot delete a sending domain or a CRM record, and every call it makes is logged.

### How do I send a transactional email with the CommsHarbor API through Jentic?

Search Jentic with an intent like 'send a transactional email', and Jentic returns the messages operation at `/api/messages` with its input schema so your agent passes the recipient and content and an idempotency key. To run it on your own infrastructure, install Jentic One from its GitHub repo.

### Is there a CommsHarbor MCP server?

You don't need an MCP server to give your agent CommsHarbor. Jentic connects it directly from the API Directory: import the API, store your bearer key once, and your agent calls the messaging, domain, delivery, and CRM operations on demand.
