# Three SDKs, a CLI and an MCP server

> The same API from TypeScript, Python, Go, a terminal or an agent.

Canonical: https://minket.com/developers. Updated: 2026-10-28.

*One document to every tool.* From the OpenAPI document to the TypeScript, Python and Go SDKs, the CLI and the MCP server with 37 tools.

## Every error says whether to retry

So a client retries the right failures without a table of codes.

**One error body for every route**

```json
{
  "error": {
    "code": "concurrent_idempotent_requests",
    "message": "A request with this idempotency key is still being processed. Retry shortly.",
    "retryable": true,
    "request_id": "req_019a2b3c-4d5e-7f60-8a9b-0c1d2e3f4a5b"
  }
}
```

## One set of conventions on every route

snake_case JSON in and out, and ids that sort by the time they were made.

**Lists, ids and logs**

- Ids: UUIDv7
- Lists: by cursor, 20 a page, up to 100
- Logs: `GET /v1/logs` finds a request by its id

## The minket command line

Each profile keeps a live and a test key apart.

**Three commands**

```sh
minket send --to rui.okafor@example.com --template receipt --var order=10452
minket logs tail --events --types email.bounced,email.complained
minket templates push emails/receipt.tsx --alias receipt --publish
```

## Tools an agent can use safely

Each tool takes the same fields as the API; broadcasts and automations stay read-only.

**What an agent may do**

- send_email: with `dry_run: true`, nothing is sent
- revoke_key: marked destructive, so the client can ask first
- Reads: marked read-only

## References and guides

- **[API reference](https://docs.minket.com/api/)**: Every route, its schema and its errors.
- **[Moving to Minket](https://minket.com/migrate)**: Bring a project over one step at a time.
- **[Errors](https://docs.minket.com/errors/)**: The full list of codes.

## Questions

### Is there a rate limit?

10 requests a second per key by default, up to 100.

### Is there a daily cap?

10,000 live emails per project a day by default.

More: Read the API reference, https://docs.minket.com/api/
