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

# Coppica API

The Coppica API generates persuasion-engineered marketing copy for a client, then takes real-world outcomes reported against each output so later generations learn from what actually converted. It runs copywriting bots as asynchronous jobs, ranks candidate outputs head-to-head, and diagnoses which persuasion techniques an output used. Around the copy it manages clients, campaigns and their graphs, ideas, offers, avatars, and multi-stage workflows, and builds tracking links so conversion performance can be attributed back to the exact copy that drove it.

## For AI agents

Generate persuasion copy for a client, report conversion outcomes against specific outputs, rank and diagnose copy, and run multi-stage campaign workflows. Authenticated with a bearer API key carrying read, write, and execute scopes.

## Scope

Does not handle email sending, ad buying, or payment processing. Use for generating persuasion copy and tracking its conversion outcomes only.

## Capabilities

- Run a copywriting bot for a client as an async job and poll it for the output
- Report a real-world outcome against a specific output so future copy is informed by it
- Rank candidate outputs head-to-head to pick a winner
- Diagnose which persuasion techniques a given output used
- Extract persuasion techniques from arbitrary pasted copy
- Build UTM tracking links and read aggregated conversion performance for an output
- Run multi-stage workflows such as ad-set generation and iterate-on-winner

## Use cases

### Outcome-Driven Copy Generation

An agent runs a copywriting bot for a client, deploys the output, then reports the real conversion outcome back against that exact output so the next generation is grounded in what performed. Coppica ties outcomes to specific outputs, which closes the loop between the copy produced and the results it drove rather than generating blind.

Example prompt: Run a bot with POST `/clients/{clientId}/bots/{botType}/run`, poll GET `/jobs/{outputId}`, then report results with POST /outcomes

### Candidate Ranking and Diagnosis

Before shipping, an agent ranks several candidate outputs head-to-head and diagnoses which persuasion techniques each relied on, so a marketer can pick the strongest variant with a reason. Coppica returns the ranking and a technique breakdown as structured data the agent can summarise.

Example prompt: Rank options with POST `/clients/{clientId}/rank-outputs`, then call POST `/clients/{clientId}/outputs/{outputId}/diagnose` on the winner

### AI Agent Integration via Jentic

An AI agent reaches Coppica through Jentic without handling the API key itself. It searches by intent, receives the matching operation and its input schema, and executes the call with the credential injected at run time. This lets an agent generate and evaluate copy for a client inside a larger marketing workflow without managing the key in code.

Example prompt: Search Jentic for 'generate marketing copy for a client', load the POST `/clients/{clientId}/bots/{botType}/run` schema, and execute it with Jentic-managed credentials

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| POST | `/clients/{clientId}/bots/{botType}/run` | Run a copywriting bot as an async job |
| GET | `/jobs/{outputId}` | Poll a bot run |
| POST | `/outcomes` | Report an outcome against an output |
| POST | `/clients/{clientId}/rank-outputs` | Rank candidate outputs head-to-head |
| POST | `/clients/{clientId}/outputs/{outputId}/diagnose` | Diagnose which techniques an output used |
| POST | `/extract` | Extract persuasion techniques from arbitrary copy |
| POST | `/clients/{clientId}/workflows` | Run a multi-stage workflow |

## Key resources

- **Bots and outputs** — Run copywriting bots and read, rank, and diagnose their outputs via `/clients/{clientId}/bots` and `/clients/{clientId}/outputs`
- **Outcomes** — Report and audit real-world conversion outcomes against outputs via /outcomes and `/clients/{clientId}/outcomes`
- **Campaigns** — Manage campaigns and their node-and-edge graphs via `/clients/{clientId}/campaigns`
- **Attribution** — Build tracking links and read conversion performance via `/clients/{clientId}/tracking-links` and `/clients/{clientId}/outputs/{outputId}/conversions`

## 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:** 50 / 100
- **Maturity:** Foundational
- **Dimensions:**
  - Foundational Compliance: 99 / 100
  - Developer Experience & Jentic Compatibility: 63 / 100
  - AI-Readiness & Agent Experience: 25 / 100
  - Agent Usability: 93 / 100
  - Security: 60 / 100
  - AI Discoverability: 55 / 100
- **View full report:** https://jentic.com/apis/coppica.com/coppica/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 Coppica by hand means managing its scoped bearer key, running bots as asynchronous jobs, and polling for each output before you can report an outcome. Through Jentic you install once, import Coppica from the API Directory, store the key once, and your agent calls it.
- **Permission scoping:** Coppica puts the client id in the URL path (`/clients/{clientId}/...`), so a rule can pin your agent to one client: it can run bots and report outcomes for that client and nothing else. You choose which operations it may call, so destructive ones like graph-node or webhook deletion are not included unless you add them.
- **Credential handling:** Your Coppica 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 'generate marketing copy' or 'report a conversion outcome', and Jentic returns the matching Coppica operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **Copy.ai** — AI copywriting platform for marketing and sales content
- **Mailchimp** — Email marketing and campaign delivery platform
- **Klaviyo** — Marketing automation and messaging with conversion tracking

## FAQ

### What authentication does the Coppica API use?

The Coppica API authenticates with a bearer API key in the Authorization header, per its OpenAPI spec, using keys that carry read, write, and execute scopes. Through Jentic the key is stored encrypted by your own Jentic One instance and injected at execution time, so it never reaches the agent.

### Can I report conversion outcomes with the Coppica API?

Yes. The outcomes operation records a real-world result against a specific output, which is the loop that lets later generations learn from what converted. You can also read an audit log of the outcomes a key has reported and the aggregated conversion performance for an output.

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

The OpenAPI spec does not publish specific rate-limit numbers; check https://coppica.com/docs/api for the current limits on your plan. The identity operation returns your plan and credit balance, so an agent can see how much generation headroom it has before running a batch of bots.

### Is there a Coppica MCP server?

You don't need an MCP server to give your agent Coppica. Jentic connects it directly from the API Directory: import it, store your credential once, and your agent calls the bot-run and outcome operations. Nothing extra is loaded into the agent's context until an operation is actually invoked.

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

Yes. Coppica puts the client id in the URL path, so write a rule that pins your agent to one client and allows only the bot-run and outcome operations under it, leaving other clients and destructive campaign-graph edits out of reach. Every call runs through your own Jentic One instance and is logged for you to review.

### How do I generate copy with the Coppica API through Jentic?

Search Jentic for 'generate marketing copy for a client', and it returns the Coppica bot-run operation with its input schema. Load the schema and execute POST `/clients/{clientId}/bots/{botType}/run`, then poll GET `/jobs/{outputId}`, with the credential injected at run time. To run it on your own infrastructure, install Jentic One from its GitHub repo.
