mercury

Installation
SKILL.md

Mercury Banking API

Manage business bank accounts, transactions, transfers, and financial operations via Mercury's REST API.

Official docs: https://docs.mercury.com/reference/getaccount


When to Use

Use this skill when you need to:

  • View account balances and details
  • List and search transactions
  • Create internal transfers between accounts
  • Manage recipients for external transfers
  • Download account statements
  • Access treasury account information

Prerequisites

  1. Sign up for a Mercury business bank account at https://mercury.com
  2. Go to Settings > Developers > API Tokens
  3. Create a new API token with appropriate permissions

Set environment variable:

export MERCURY_TOKEN="your-api-token"

Accounts

List All Accounts

curl -s "https://api.mercury.com/api/v1/accounts" --header "Authorization: Bearer $(printenv MERCURY_TOKEN)"

Get Account by ID

Replace <your-account-id> with the actual account ID:

curl -s "https://api.mercury.com/api/v1/account/<your-account-id>" --header "Authorization: Bearer $(printenv MERCURY_TOKEN)"

Get Account Cards

Replace <your-account-id> with the actual account ID:

curl -s "https://api.mercury.com/api/v1/account/<your-account-id>/cards" --header "Authorization: Bearer $(printenv MERCURY_TOKEN)"

Transactions

List Account Transactions

Replace <your-account-id> with the actual account ID:

curl -s "https://api.mercury.com/api/v1/account/<your-account-id>/transactions" --header "Authorization: Bearer $(printenv MERCURY_TOKEN)"

List Transactions with Filters

Filter by date range, status, or limit. Replace <your-account-id> with the actual account ID:

curl -s "https://api.mercury.com/api/v1/account/<your-account-id>/transactions?limit=50&start=2024-01-01&end=2024-12-31" --header "Authorization: Bearer $(printenv MERCURY_TOKEN)"

Get Transaction by ID

Replace <your-account-id> and <your-transaction-id> with the actual IDs:

curl -s "https://api.mercury.com/api/v1/account/<your-account-id>/transaction/<your-transaction-id>" --header "Authorization: Bearer $(printenv MERCURY_TOKEN)"

Transfers

Create Internal Transfer

Transfer funds between your Mercury accounts.

Write to /tmp/mercury_request.json:

{
  "toAccountId": "target-account-id",
  "amount": 100.00,
  "note": "Internal transfer"
}

Then run. Replace <your-account-id> with the actual account ID:

curl -s -X POST "https://api.mercury.com/api/v1/account/<your-account-id>/internal-transfer" --header "Authorization: Bearer $(printenv MERCURY_TOKEN)" --header "Content-Type: application/json" -d @/tmp/mercury_request.json

Send Money Request

Initiate a money transfer request.

Write to /tmp/mercury_request.json:

{
  "recipientId": "recipient-id",
  "amount": 100.00,
  "paymentMethod": "ach",
  "idempotencyKey": "unique-key-123"
}

Then run. Replace <your-account-id> with the actual account ID:

curl -s -X POST "https://api.mercury.com/api/v1/account/<your-account-id>/send-money" --header "Authorization: Bearer $(printenv MERCURY_TOKEN)" --header "Content-Type: application/json" -d @/tmp/mercury_request.json

Get Send Money Request Status

Replace <your-request-id> with the actual request ID:

curl -s "https://api.mercury.com/api/v1/request-send-money/<your-request-id>" --header "Authorization: Bearer $(printenv MERCURY_TOKEN)"

Recipients

List All Recipients

curl -s "https://api.mercury.com/api/v1/recipients" --header "Authorization: Bearer $(printenv MERCURY_TOKEN)"

Get Recipient by ID

Replace <your-recipient-id> with the actual recipient ID:

curl -s "https://api.mercury.com/api/v1/recipient/<your-recipient-id>" --header "Authorization: Bearer $(printenv MERCURY_TOKEN)"

Create Recipient

Write to /tmp/mercury_request.json:

{
  "name": "Vendor Name",
  "emails": ["vendor@example.com"],
  "paymentMethod": "ach",
  "electronicRoutingInfo": {
    "accountNumber": "123456789",
    "routingNumber": "021000021",
    "bankName": "Example Bank",
    "electronicAccountType": "businessChecking"
  }
}

Then run:

curl -s -X POST "https://api.mercury.com/api/v1/recipients" --header "Authorization: Bearer $(printenv MERCURY_TOKEN)" --header "Content-Type: application/json" -d @/tmp/mercury_request.json

Statements

List Account Statements

Replace <your-account-id> with the actual account ID:

curl -s "https://api.mercury.com/api/v1/account/<your-account-id>/statements" --header "Authorization: Bearer $(printenv MERCURY_TOKEN)"

Download Statement PDF

Replace <your-account-id> and <your-statement-id> with the actual IDs:

curl -s "https://api.mercury.com/api/v1/account/<your-account-id>/statement/<your-statement-id>/pdf" --header "Authorization: Bearer $(printenv MERCURY_TOKEN)" > statement.pdf

Organization

Get Organization Info

curl -s "https://api.mercury.com/api/v1/organization" --header "Authorization: Bearer $(printenv MERCURY_TOKEN)"

Treasury

List Treasury Accounts

curl -s "https://api.mercury.com/api/v1/treasury" --header "Authorization: Bearer $(printenv MERCURY_TOKEN)"

Get Treasury Account by ID

Replace <your-treasury-id> with the actual treasury ID:

curl -s "https://api.mercury.com/api/v1/treasury/<your-treasury-id>" --header "Authorization: Bearer $(printenv MERCURY_TOKEN)"

List Treasury Transactions

Replace <your-treasury-id> with the actual treasury ID:

curl -s "https://api.mercury.com/api/v1/treasury/<your-treasury-id>/transactions" --header "Authorization: Bearer $(printenv MERCURY_TOKEN)"

Users

List Users

curl -s "https://api.mercury.com/api/v1/users" --header "Authorization: Bearer $(printenv MERCURY_TOKEN)"

Credit

List Credit Accounts

curl -s "https://api.mercury.com/api/v1/credit" --header "Authorization: Bearer $(printenv MERCURY_TOKEN)"

Accounts Receivable

List Customers

curl -s "https://api.mercury.com/api/v1/accounts-receivable/customers" --header "Authorization: Bearer $(printenv MERCURY_TOKEN)"

Create Customer

Write to /tmp/mercury_request.json:

{
  "name": "Customer Name",
  "email": "customer@example.com"
}

Then run:

curl -s -X POST "https://api.mercury.com/api/v1/accounts-receivable/customers" --header "Authorization: Bearer $(printenv MERCURY_TOKEN)" --header "Content-Type: application/json" -d @/tmp/mercury_request.json

List Invoices

curl -s "https://api.mercury.com/api/v1/accounts-receivable/invoices" --header "Authorization: Bearer $(printenv MERCURY_TOKEN)"

Create Invoice

Write to /tmp/mercury_request.json:

{
  "customerId": "customer-id",
  "lineItems": [{"description": "Service", "amount": 500.00}],
  "dueDate": "2024-12-31"
}

Then run:

curl -s -X POST "https://api.mercury.com/api/v1/accounts-receivable/invoices" --header "Authorization: Bearer $(printenv MERCURY_TOKEN)" --header "Content-Type: application/json" -d @/tmp/mercury_request.json

Download Invoice PDF

Replace <your-invoice-id> with the actual invoice ID:

curl -s "https://api.mercury.com/api/v1/accounts-receivable/invoice/<your-invoice-id>/pdf" --header "Authorization: Bearer $(printenv MERCURY_TOKEN)" > invoice.pdf

Guidelines

  1. Rate Limits: Mercury may enforce rate limits; implement appropriate backoff strategies for high-volume operations
  2. Idempotency: Use idempotencyKey for transfer operations to prevent duplicate transactions
  3. Security: Never expose API tokens in logs or client-side code
  4. Amounts: All monetary amounts are typically in USD and represented as decimal numbers
  5. Pagination: For large result sets, use limit and offset parameters where supported

API Reference

Weekly Installs
56
GitHub Stars
52
First Seen
Jan 24, 2026
Installed on
opencode49
gemini-cli49
codex48
github-copilot47
amp46
cline46