Meridian
Docs
API v2.1 Status: operational

Documentation

Everything you need to
build on Meridian.

API reference, integration guides, and the legal and compliance policies that govern how Meridian and its partners handle data, funds, and accounts.

Guides 3

Get integrated, end to end.

Overview Quickstart Authentication

Endpoints, params, and error codes.

Endpoints Errors

Overview

Meridian provides a payments and account infrastructure API for moving, holding, and reconciling funds across currencies. This page collects the technical reference alongside the policies that apply to anyone integrating with or using the platform.

If you're integrating Meridian into a product, start with the Quickstart. If you're reviewing how we handle data or funds, jump to Legal & compliance in the sidebar.

Quickstart

  1. Create an API key
    Generate a key from the dashboard under Developers → API keys. Test keys are prefixed mk_test_, live keys with mk_live_.
  2. Authenticate a request
    Pass your key as a bearer token on every request. See Authentication below for the full header format.
  3. Create your first payment
    Send a POST to /v2/payments with an amount, currency, and destination account.
  4. Listen for webhooks
    Register an endpoint to receive status updates as a payment moves from pending to settled.
quickstart.sh
# create a payment
curl https://api.meridian.dev/v2/payments \
  -H "Authorization: Bearer mk_test_51H..." \
  -H "Content-Type: application/json" \
  -d '{
    "amount": 2500,
    "currency": "usd",
    "destination": "acct_9F3k2"
  }'

Authentication

All requests are authenticated with a bearer token in the Authorization header. Requests made without a valid key, or over plain HTTP, are rejected.

header
Authorization: Bearer mk_live_9c2f1a...
Keys are scoped to a single environment. A test-mode key can never move live funds, even if used against the production host.

Endpoints

The core resources are payments, accounts, and webhooks. All responses are JSON; all amounts are integers in the smallest unit of the currency.

Create a payment

POST/v2/payments
{
  "amount": 2500,
  "currency": "usd",
  "destination": "acct_9F3k2",
  "reference": "invoice_1042"
}

Retrieve a payment

GET/v2/payments/:id
{
  "id": "pay_7k2Lm9",
  "status": "settled",
  "amount": 2500,
  "currency": "usd"
}

List accounts

ParameterTypeDescription
limitintegerNumber of accounts to return, up to 100. Defaults to 20.
starting_afterstringCursor for pagination — the ID of the last account on the previous page.
statusstringFilter by active, frozen, or closed.

Webhooks

Meridian sends an event for every state change on a payment or account. Verify the Meridian-Signature header before trusting the payload.

Errors

Meridian uses standard HTTP status codes. The response body always includes a machine-readable code and a human-readable message.

StatusCodeMeaning
400invalid_requestA required field was missing or malformed.
401invalid_keyThe API key is missing, revoked, or expired.
402insufficient_fundsThe source account cannot cover the payment.
409duplicate_referenceA payment with this reference already exists.
429rate_limitedToo many requests — back off and retry.

Privacy policy

This policy explains what personal data Meridian collects when you use our API, dashboard, or hosted account pages, and how that data is stored, shared, and retained.

Data we collect

Account and verification details you provide directly, transaction metadata generated by using the API, and device and log data collected automatically when you access the dashboard.

How we use it

To operate and secure the platform, meet our legal and regulatory obligations, and — only with your consent — to send product updates.

Your rights

You may request a copy of the data we hold about you, ask us to correct it, or ask us to delete it where we are not required to retain it for legal or regulatory reasons.

Terms of use

These terms govern access to the Meridian API, dashboard, and related services. By creating an account or making an API request, you agree to the terms below.

  1. You are responsible for all activity that occurs under your API keys, and for keeping them confidential.
  2. You will not use Meridian to process payments you know or suspect to be fraudulent, or that violate applicable law.
  3. We may suspend or terminate access where we reasonably believe these terms, or applicable regulation, have been breached.
  4. Meridian is provided on an as-is basis during the beta period referenced in your integration agreement.

Cookie policy

The Meridian dashboard and documentation site use a small number of cookies. The API itself does not set cookies.

CookiePurposeDuration
md_sessionKeeps you signed in to the dashboard.7 days
md_csrfProtects dashboard forms against cross-site request forgery.Session
md_prefRemembers display preferences, such as theme.1 year

We do not use third-party advertising or tracking cookies on the documentation or dashboard.

Anti-money laundering policy

Meridian is required by financial regulation to identify its customers, monitor transactions, and report activity that may indicate money laundering or the financing of terrorism.

Customer due diligence

Before an account can send or receive live payments, we verify identity documents and, for businesses, beneficial ownership information. Enhanced checks apply to higher-risk customers and jurisdictions.

Transaction monitoring

Payments are screened against sanctions lists and monitored for patterns associated with layering, structuring, or other laundering typologies. Flagged transactions may be held pending review.

Meridian may be legally required to freeze funds or report a transaction to a regulator without notifying the account holder.