meridian
Open portal
For developers

Meridian API

Push your own evidence for Mollie payments and download DATEV packages programmatically. A small, honest REST API with bearer tokens.

Base URLhttps://usemeridian.de/api/v1
On this page
AuthenticationEvidence: customer IP per paymentRead evidenceList companiesDownload DATEV packageError codes

Authentication

Create an API token in the portal under Settings → API tokens. The token is shown exactly once and starts with md_live_. Send it as a bearer token in the Authorization header.

Authorization: Bearer md_live_4f8a1c…

POST /api/v1/evidence

The endpoint that matters most: submit your customer's IP address per Mollie payment from your own checkout. Under Art. 24b of the VAT Implementing Regulation the customer IP is an additional proof of the place of supply for OSS revenue. Meridian prints the IP as a location proof directly on the matching invoice PDF and additionally attaches a summary CSV to every DATEV package (4_Nachweise/kunden-ip-nachweise.csv).

payment_idstring, requiredThe Mollie payment id (tr_…) your checkout receives from Mollie.
customer_ipstring, optionalThe customer's IPv4 or IPv6 at payment time.
countrystring, optionalISO-3166 alpha-2 country if you already determined it yourself.
metadataobject, optionalAny custom data (max 4 KB), e.g. order id or user agent.

Request

curl -X POST https://usemeridian.de/api/v1/evidence \
  -H "Authorization: Bearer md_live_…" \
  -H "Content-Type: application/json" \
  -d '{
    "payment_id": "tr_7UhSN1zuXS",
    "customer_ip": "203.0.113.54",
    "metadata": { "order": "R-2026-C7XN" }
  }'

Response

{ "ok": true, "stored": 1, "results": [ { "payment_id": "tr_7UhSN1zuXS", "ok": true } ] }

Batch: send an array of up to 100 objects in the same shape. Response status 207 when some entries fail.

Idempotent: pushing the same payment_id again overwrites the stored evidence.

GET /api/v1/evidence

Reads stored evidence, optionally filtered to one payment.

curl "https://usemeridian.de/api/v1/evidence?payment_id=tr_7UhSN1zuXS" \
  -H "Authorization: Bearer md_live_…"

GET /api/v1/companies

Lists your connected companies. You need the id for the export endpoint.

{
  "companies": [
    { "id": "b21b6f7bfa964c31", "name": "Nordwind Digital", "payments": 2219, "synced": true }
  ]
}

GET /api/v1/export

Downloads the full DATEV package as a ZIP: three EXTF batches, invoice PDFs with GUID Beleglink, document.xml and, when present, your IP evidence. One export is included in the trial, unlimited afterwards.

companystring, requiredCompany id from /api/v1/companies.
fromYYYY-MM-DD, requiredFirst day of the period.
toYYYY-MM-DD, requiredLast day of the period (inclusive).
belege0 or 1, optionalbelege=0 skips the PDF receipts (batches only).
curl -o DATEV_2026-05.zip \
  "https://usemeridian.de/api/v1/export?company=b21b6f7bfa964c31&from=2026-05-01&to=2026-05-31" \
  -H "Authorization: Bearer md_live_…"

Error codes

401 invalid_tokenToken missing, invalid or deleted.
402 trial_limitThe included trial export is used up.
402 subscription_inactiveSubscription canceled or payment due.
404 not_foundThe company does not belong to this account.
400 …Validation error, details in the error field.
207 (multi-status)Batch partially failed, see results[].
Back to home© 2026 Meridian