canonical: https://jentic.com/apis/kundenschreiber.de/kundenschreiber

# Kundenschreiber De Kundenschreiber Public API

Jentic publishes the only available OpenAPI specification for Kundenschreiber Public API, keeping it validated and agent-ready. Kundenschreiber is a German handwritten-letter and postcard service whose API lets businesses create direct-mail orders, manage senders and recipients, run QR campaigns with trackable codes, and enrich company data before mailing. Authentication is an X-API-Key header. Endpoints cover the full direct-mail workflow from credit-balance checks to template selection, signature variations, and order placement.

## For AI agents

Send handwritten letters and postcards via Kundenschreiber: create orders, manage senders and recipients, run trackable QR campaigns, and check shipment credits.

## Scope

Does not handle email delivery, SMS, or shipping logistics - use for handwritten letter and postcard direct mail only.

## Capabilities

- Place handwritten-letter and postcard orders via POST /orders against pre-built templates from /templates
- Check available shipment credit before sending via GET /shipment-balance to avoid failed dispatch
- Run trackable direct-mail QR campaigns through `/qr/campaigns` and `/qr/codes` for response attribution
- Manage sender and recipient address books via /senders and /recipients with create, update, and delete
- Handle signature variations through /signatures so different campaigns sign with different handwriting samples
- Enrich a recipient's company data via POST /enrich-company before personalising letter content

## Use cases

### Automated Customer Win-Back Letters

Trigger handwritten letters to lapsed customers as part of a churn-recovery flow. After a CRM identifies a churn-risk segment, an agent uploads the recipient list to /recipients, picks a win-back template via /templates, and POSTs the order to /orders. /shipment-balance is checked first so the run doesn't fail mid-batch.

Example prompt: GET /shipment-balance, GET /templates to pick the 'win-back' template, POST 50 recipients to /recipients, then POST /orders referencing the template and recipient IDs.

### QR-Tracked Postcard Campaigns

Run a postcard campaign with QR codes that link each recipient to a tracked landing page. POST `/qr/campaigns` creates the campaign, POST `/qr/codes` generates per-recipient codes, and the postcard order references those codes so recipients scanning the postcard are attributed to the campaign in analytics.

Example prompt: POST `/qr/campaigns` with a campaign name, generate one QR code per recipient via `/qr/codes`, and submit a postcard order to /orders with the QR codes embedded.

### Multi-Signature Brand Templates

Maintain different signature variations for different sales reps so handwritten letters carry the right rep's signature. /signatures lists existing variations, PATCH `/signatures/{id}` updates them, and orders pick the right signature at send time. This keeps personalisation high without re-creating templates.

Example prompt: GET /signatures, pick the rep's variation, and POST /orders with the chosen signature ID for each recipient.

### AI Agent Direct-Mail Concierge

An assistant in a sales-ops chat receives instructions like 'send a handwritten thank-you to every closed-won deal this week' and runs the full Kundenschreiber order through Jentic. Search-by-intent finds the right operation, schemas are loaded automatically, and the X-API-Key never leaves the vault.

Example prompt: On 'thank every closed-won deal this week', resolve recipient list from CRM, search Jentic for 'create Kundenschreiber order', and POST /orders with the thank-you template ID.

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| POST | `/orders` | Create a handwritten letter or postcard order |
| GET | `/shipment-balance` | Check shipment credit balance |
| GET | `/templates` | List letter templates |
| POST | `/qr/campaigns` | Create a trackable QR campaign |
| POST | `/recipients` | Add a recipient to the address book |
| POST | `/enrich-company` | Enrich company data before mailing |

## Key resources

- **Orders** — Create and inspect direct-mail orders for letters and postcards.
- **Templates** — List letter templates and envelope templates available to the account.
- **Recipients** — Manage the recipient address book with full CRUD.
- **Senders** — Manage sender records and return addresses.
- **QR Campaigns** — Create campaigns and per-recipient QR codes for response tracking.
- **Signatures** — Manage signature variations attached to templates.

## Why Jentic

- **Setup:** Wiring the Kundenschreiber Public API by hand means passing X-API-Key on every call to api.kundenschreiber.de and mapping the order, recipient, and campaign request bodies yourself. Through Jentic you install once, import the Kundenschreiber Public API from the API Directory, store the key once, and your agent calls it.
- **Permission scoping:** Kundenschreiber's operations take their targets in the request body rather than the URL path, so scope the agent to the operations it needs, such as reading templates and shipment balance. You choose that set, so placing an order or creating a QR campaign is not included unless you add it.
- **Credential handling:** Your Kundenschreiber X-API-Key is stored once, encrypted, by your own Jentic One instance and injected into the header at execution time. It never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'send a handwritten letter' or 'create a QR campaign', and Jentic returns the matching Kundenschreiber operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **Lettermint API** — Direct-mail API for letters and postcards with a similar workflow.
- **Postal Server API** — Self-hosted mail server for transactional email - different channel.
- **Clearbit API** — Company-data enrichment for personalising direct mail.

## FAQ

### Why is there no official OpenAPI spec for Kundenschreiber Public API?

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

Kundenschreiber uses an API key passed in the X-API-Key header. Through Jentic, the API key is stored encrypted in your Jentic One instance and injected at request time so the agent never holds the raw secret.

### Can I send a handwritten letter to a recipient with the Kundenschreiber API?

Yes. POST /orders creates a handwritten letter or postcard order against a template ID from /templates and a recipient ID from /recipients. Check /shipment-balance first to confirm the account has credits for the run.

### How do I run a QR-tracked direct-mail campaign through Jentic?

Search Jentic for 'create a Kundenschreiber QR campaign'. Jentic returns POST `/qr/campaigns` and POST `/qr/codes.` Generate one code per recipient, then POST /orders with the codes referenced on each piece.

### What are the rate limits for the Kundenschreiber Public API?

Specific rate limits are not exposed in the public OpenAPI spec. Contact support@kundenschreiber.de to confirm per-account limits before scheduling large batches.

### Can I enrich company data before sending a letter?

Yes. POST /enrich-company augments a company record before personalisation, so letters can address recipients by their current company details. Use this before constructing the order body.

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

Yes. Because you run Jentic One yourself, your own rules decide which Kundenschreiber operations and credentials the agent may use. Kundenschreiber's operations take their targets in the request body rather than the URL path, so you scope the agent to just the operations it needs, such as reading templates via /templates and checking credit via /shipment-balance. Placing an order through POST /orders or creating a campaign through POST `/qr/campaigns` is not available to the agent unless you add it to that set.
