API

Letter and post API: send letters in Germany

With our letter and post API you submit PDFs straight from your software. briefsenden.com takes care of printing, enveloping and handing in at Deutsche Post for delivery in Germany. You get the processing status back into your system via API or webhook. With a test key you test without printing or sending.

Send a letter via REST API

From account to first API letter – in four simple steps

1

Create an account

Sign up for free and confirm your email address. With a test key you then test without printing and without cost.

2

Generate an API key

Create an API key under Settings → Developer. Use a test key (bv_test_*) for development or a live key (bv_live_*) for production.

3

Send your first letter

Send a PDF with the recipient address via POST /api/v1/letters/simple. With a test key there is no cost and no physical dispatch.

4

Query the status

Query the current shipping status via GET /api/v1/letters/{'{id}'} or get notified automatically by webhook.

One letter in one request

Send letters in your preferred programming language. Our API accepts multipart/form-data and responds with JSON.

curl -X POST https://www.briefsenden.com/api/v1/letters/simple \
  -H "X-Api-Key: bv_test_xxx" \
  -F "file=@invoice.pdf" \
  -F "recipientLine1=Max Mustermann" \
  -F "recipientLine2=Musterstraße 1" \
  -F "recipientZip=12345" \
  -F "recipientCity=Berlin" \
  -F "color=bw" \
  -F "duplex=simplex"

Replace bv_test_xxx with your API key – a test key costs nothing. The full documentation with more examples is on the API documentation page.

API features

Our API follows REST principles with predictable URLs, JSON responses and standard HTTP status codes. Everything you need for a seamless integration.

RESTful JSON API

A complete REST API with OpenAPI documentation and an interactive Swagger UI. Standards-compliant JSON responses allow integration with any programming language and framework.

Test & live keys

Separate API keys for development (bv_test_*) and production (bv_live_*). Test your integration without risk before switching to production.

Webhooks

Real-time notifications when your letters change status. Receive updates on upload, printing and dispatch automatically via HTTP callback.

Rate limiting

One request per 500 ms per API key, with a queue for up to 10 further requests. If the queue is full, the API responds with HTTP 429.

Idempotency keys

For POST requests the API stores successful responses with an idempotency key for 24 hours. Repeat the same job with the same key only after the first request has finished.

Swagger documentation

Interactive documentation with code examples and a try-it-out feature. Test endpoints right in your browser without writing a line of code.

Authentication & security

Secure authentication with API keys

Test keys bv_test_*

For development and testing. Letters are simulated but not physically sent. No cost, no coin deduction – ideal for your development environment and CI/CD pipelines.

Live keys bv_live_*

For production. Letters are printed, enveloped and delivered by Deutsche Post. The cost is deducted automatically from your coin balance.

Security standards

All API requests require HTTPS – unencrypted HTTP requests are rejected. Send your API key in the X-Api-Key header. The full authentication documentation is on the API page.

Endpoints at a glance

The most important API endpoints for sending letters – from submission to status query

MethodEndpointDescription
POST/api/v1/letters/simpleSend a letter (PDF file or PDF URL)
POST/api/v1/letters/bulkUp to 50 letters in one request
GET/api/v1/letters/{id}Query the status
POST/api/v1/estimateCalculate the cost
GET/api/v1/balanceCheck the coin balance
POST/api/v1/webhooksRegister a webhook

The full documentation of all endpoints with request and response schemas is in the interactive API documentation.

Use cases

Companies from many industries use our API to integrate physical letter sending into their existing systems and processes.

ERP integration

Automated invoice sending straight from your ERP system. Connect your ERP via REST API or via Zapier/Make (e.g. DATEV, lexoffice) and send invoices, credit notes and receipts automatically by post.

CRM automation

Letter sending triggered by CRM events and workflows. Send welcome letters, contract documents or cancellation confirmations automatically when a CRM event fires.

Dunning systems

Automatic reminder stages with physical letters. Configure payment reminders, first and second reminders and collection notices as an automated workflow.

Document management

Integration with your DMS for automatic sending of archived documents. Trigger letter sending straight from your document management system; query the shipping status via API or receive it by webhook.

Without your own programming (guides in German): Zapier, Make, n8n, DATEV & lexoffice.

Post API for Germany: from PDF to letter

You submit digitally, we bring the letter on paper to Deutsche Post

  1. 1. Send a PDF

    Your system sends the PDF with the recipient address to the API or has the address read from the address field of the PDF.

  2. 2. Printing and enveloping

    briefsenden.com prints the letter in B/W or colour, single- or double-sided, and envelopes it.

  3. 3. Handover at Deutsche Post

    The letter is franked and handed in at Deutsche Post for postal delivery in Germany. The transit time depends on the shipping type chosen.

  4. 4. Status in your system

    Query the processing status via API or receive updates by webhook. For registered mail the tracking number is available once it has been assigned.

How much does a letter via the API cost?

A standard letter in B/W costs 91 coins, from €0.911 including printing, envelope and postage – via the API just as in the web interface. You top up coins in advance; there is no monthly fee. Calculate the cost of a letter beforehand via POST /api/v1/estimate.

See all prices

1 At the best coin rate (top-up of 25,000 coins).

Error handling & rate limits

Transparent limits and a standard error format for reliable integrations

Rate limits

Per API key one request is processed immediately, then one every 500 ms. Up to 10 further requests wait in order of arrival. If the queue is full, the API responds with HTTP 429; wait before trying again.

RFC 7807 error format

The API uses ProblemDetails, for example for invalid input. Always check the HTTP status code and the error response; not every error source returns the same fields. Error texts are currently in German.

Idempotency keys

For POST requests you can send an Idempotency-Key. Successful responses are stored for 24 hours. Use the same key only for the same job and avoid parallel retries.

Frequently asked questions

Answers about the letter and post API

Free test mode – no credit card needed

Integrate now

Start with a few lines of code and automate your letter sending via the REST API. Free sandbox mode included.

No monthly fee No minimum order Pay per letter