canonical: https://jentic.com/apis/cleverreach.com/cleverreach-cleverreach-api

# CleverReach API

Jentic publishes the only available OpenAPI specification for CleverReach API, keeping it validated and agent-ready. The CleverReach API powers email marketing automation for the European-hosted CleverReach platform, exposing operations to manage client accounts, recipient groups, individual receivers, mailings, and the global blacklist. It uses OAuth 2.0 against rest.cleverreach.com/v3 and covers the core lifecycle of building a list, validating addresses, releasing campaigns, and reading receiver counts. Agents can use it to upsert subscribers, trigger campaign sends, and query plan or contingent state for a client.

## For AI agents

Run CleverReach email marketing operations - upsert recipients into groups, release or stop mailings, validate addresses, and check client account contingents.

## Scope

Does not handle SMS, push notifications, or transactional email delivery - use for CleverReach marketing list and mailing operations only.

## Capabilities

- Upsert receivers into a CleverReach group with bulk operations on the upsertplus endpoint
- Clear all receivers from a group or fetch the current group membership
- Release a prepared mailing or stop one mid-send via mailing actions
- Validate email addresses against the CleverReach blacklist before importing
- Read client-level contingent, active receiver count, and plan information
- Clone an existing receiver record or update a receiver's primary email address
- Create a new client account under a reseller relationship via createAccount

## Use cases

### Subscriber List Sync from a CRM

Keep a CleverReach group in sync with a source-of-truth CRM by upserting receivers in bulk. The `/groups/{group_id}/receivers/upsertplus` endpoint accepts batches of recipients with attributes and updates existing records or creates new ones in a single call. A typical sync job runs nightly and takes a few hours to wire up against the CleverReach OAuth flow.

Example prompt: Upsert 200 receivers from a CSV into CleverReach group_id 1234567 using `/groups/1234567/receivers/upsertplus` and confirm the response counts the inserts and updates

### Triggered Campaign Release

Trigger a CleverReach mailing to release on a schedule or in response to a business event. The `/mailings/{id}/release` endpoint kicks off the send for a prepared mailing, while `/mailings/{id}/stop` allows pulling the brake mid-send if a problem is detected. Integration is straightforward - under a day for a single mailing trigger.

Example prompt: Release CleverReach mailing id 987654 and verify the response confirms the mailing has moved into a sending state

### Pre-Send Email Hygiene

Reduce bounce rates by validating email addresses against the CleverReach blacklist before importing them or releasing a campaign. The `/blacklist/validate` endpoint checks individual addresses, and `/receivers/bounced` returns the current bounced recipients for ongoing list cleaning. This pattern can be wired into a sign-up flow in a few hours.

Example prompt: Validate the address 'user@example.com' against `/blacklist/validate` and only call `/groups/1234567/receivers/upsertplus` if the address is clean

### Agent-Driven Email Operations via Jentic

Expose CleverReach to an AI agent through Jentic so that an internal operator can ask the agent to release a campaign, sync a list, or check a client's contingent in natural language. Jentic stores the OAuth client credentials and surfaces only the relevant CleverReach operations for each intent. A working integration takes well under an hour.

Example prompt: Search Jentic for 'release a cleverreach mailing', load the schema for `/mailings/{id}/release`, and execute it with id=987654

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| POST | `/groups/{group_id}/receivers/upsertplus` | Bulk upsert receivers into a group |
| POST | `/mailings/{id}/release` | Release a prepared mailing |
| POST | `/mailings/{id}/stop` | Stop an active mailing |
| POST | `/blacklist/validate` | Validate an address against the blacklist |
| GET | `/receivers/bounced` | List bounced receivers |
| GET | `/clients/{id}/contingent` | Read remaining send contingent for a client |

## Key resources

- **Clients** — Read client-level metadata: receiver counts, active counts, contingent, plan, and invoice address; create reseller sub-accounts
- **Groups** — Upsert receivers in bulk, fetch group membership, and clear groups before reimport
- **Receivers** — Manage individual recipients - clone, change email, list bounced records
- **Mailings** — Read mailing metadata, release prepared sends, stop active sends, fetch templates
- **Blacklist** — Validate addresses against and read entries from the CleverReach suppression list

## Why Jentic

- **Setup:** Wiring this CleverReach API by hand means running its OAuth2 authorization-code flow and threading group and mailing ids through calls to rest.cleverreach.com/v3. Through Jentic you install once, import CleverReach from the API Directory, store the credential once, and your agent calls it.
- **Permission scoping:** CleverReach puts the group id and mailing id in the URL path (`/groups/{group_id}/receivers/upsertplus`), so a rule can pin your agent to one group: it can upsert receivers there and nothing else. You choose the operations it may call, so releasing or stopping a mailing is not included unless you add it.
- **Credential handling:** Your CleverReach OAuth credential 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 receiver to a group' or 'release a mailing in CleverReach', and Jentic returns the matching operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **Mailchimp Marketing API** — US-hosted email marketing platform with deeper automation and template tools
- **Mandrill API** — Transactional email delivery layer from Mailchimp
- **SendGrid Marketing Campaigns Single Sends** — Twilio SendGrid's marketing campaign management API

## FAQ

### Why is there no official OpenAPI spec for CleverReach API?

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

The CleverReach API uses OAuth 2.0 against rest.cleverreach.com/v3. You exchange your client credentials for an access token and pass it in the Authorization header. When called through Jentic, the OAuth client secret is held in your Jentic One instance and never exposed to the agent context.

### Can I bulk import subscribers with the CleverReach API?

Yes. The `/groups/{group_id}/receivers/upsertplus` endpoint accepts a batch of receivers with attributes and inserts new records or updates existing ones in a single call, which is the recommended path for syncing a list from an external source.

### Can I release or stop a campaign programmatically?

Yes. `/mailings/{id}/release` triggers a prepared mailing to send, and `/mailings/{id}/stop` halts an active send. These are the two control endpoints you need for an automated send pipeline.

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

CleverReach does not document fixed numeric rate limits in the public spec. Practical guidance is to keep upsert batches reasonable (a few hundred receivers per call) and avoid tight polling loops on `/clients/{id}/contingent` - once per minute is typically sufficient.

### How do I send a campaign through Jentic?

Run pip install jentic, search for 'release a cleverreach mailing', load the operation against `/mailings/{id}/release`, and execute it with the target mailing id. Jentic handles the OAuth token exchange and returns the API response.

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

Yes. Because you run Jentic One yourself, your own rules decide which CleverReach operations and credentials the agent may use. Since CleverReach carries the group id and mailing id in the URL path, such as `/groups/{group_id}/receivers/upsertplus`, you can pin the agent to a single group so it upserts receivers there and does nothing else. You also pick the exact operations it can call, so releasing or stopping a mailing via `/mailings/{id}/release` or `/mailings/{id}/stop` stays off limits unless you grant it.
