Mercury Banking API via curl. Use this skill to manage bank accounts, transactions, transfers, and financial operations.
/plugin marketplace add vm0-ai/api0/plugin install api0@api0This skill inherits all available tools. When active, it can use any tool Claude has access to.
Manage business bank accounts, transactions, transfers, and financial operations via Mercury's REST API.
Official docs: https://docs.mercury.com/reference/getaccount
Use this skill when you need to:
Set environment variable:
export MERCURY_API_TOKEN="your-api-token"
Important: When using
$VARin a command that pipes to another command, wrap the command containing$VARinbash -c '...'. Due to a Claude Code bug, environment variables are silently cleared when pipes are used directly.bash -c 'curl -s "https://api.example.com" --header "Authorization: Bearer $API_KEY"' | jq .
bash -c 'curl -s "https://api.mercury.com/api/v1/accounts" --header "Authorization: Bearer $MERCURY_API_TOKEN"' | jq .
bash -c 'curl -s "https://api.mercury.com/api/v1/account/{accountId}" --header "Authorization: Bearer $MERCURY_API_TOKEN"' | jq .
bash -c 'curl -s "https://api.mercury.com/api/v1/account/{accountId}/cards" --header "Authorization: Bearer $MERCURY_API_TOKEN"' | jq .
bash -c 'curl -s "https://api.mercury.com/api/v1/account/{accountId}/transactions" --header "Authorization: Bearer $MERCURY_API_TOKEN"' | jq .
Filter by date range, status, or limit:
bash -c 'curl -s "https://api.mercury.com/api/v1/account/{accountId}/transactions?limit=50&start=2024-01-01&end=2024-12-31" --header "Authorization: Bearer $MERCURY_API_TOKEN"' | jq .
bash -c 'curl -s "https://api.mercury.com/api/v1/account/{accountId}/transaction/{transactionId}" --header "Authorization: Bearer $MERCURY_API_TOKEN"' | jq .
Transfer funds between your Mercury accounts:
bash -c 'curl -s -X POST "https://api.mercury.com/api/v1/account/{accountId}/internal-transfer" --header "Authorization: Bearer $MERCURY_API_TOKEN" --header "Content-Type: application/json" -d '"'"'{"toAccountId": "target-account-id", "amount": 100.00, "note": "Internal transfer"}'"'"'' | jq .
Initiate a money transfer request:
bash -c 'curl -s -X POST "https://api.mercury.com/api/v1/account/{accountId}/send-money" --header "Authorization: Bearer $MERCURY_API_TOKEN" --header "Content-Type: application/json" -d '"'"'{"recipientId": "recipient-id", "amount": 100.00, "paymentMethod": "ach", "idempotencyKey": "unique-key-123"}'"'"'' | jq .
bash -c 'curl -s "https://api.mercury.com/api/v1/request-send-money/{requestId}" --header "Authorization: Bearer $MERCURY_API_TOKEN"' | jq .
bash -c 'curl -s "https://api.mercury.com/api/v1/recipients" --header "Authorization: Bearer $MERCURY_API_TOKEN"' | jq .
bash -c 'curl -s "https://api.mercury.com/api/v1/recipient/{recipientId}" --header "Authorization: Bearer $MERCURY_API_TOKEN"' | jq .
bash -c 'curl -s -X POST "https://api.mercury.com/api/v1/recipients" --header "Authorization: Bearer $MERCURY_API_TOKEN" --header "Content-Type: application/json" -d '"'"'{"name": "Vendor Name", "emails": ["vendor@example.com"], "paymentMethod": "ach", "electronicRoutingInfo": {"accountNumber": "123456789", "routingNumber": "021000021", "bankName": "Example Bank", "electronicAccountType": "businessChecking"}}'"'"'' | jq .
bash -c 'curl -s "https://api.mercury.com/api/v1/account/{accountId}/statements" --header "Authorization: Bearer $MERCURY_API_TOKEN"' | jq .
bash -c 'curl -s "https://api.mercury.com/api/v1/account/{accountId}/statement/{statementId}/pdf" --header "Authorization: Bearer $MERCURY_API_TOKEN"' > statement.pdf
bash -c 'curl -s "https://api.mercury.com/api/v1/organization" --header "Authorization: Bearer $MERCURY_API_TOKEN"' | jq .
bash -c 'curl -s "https://api.mercury.com/api/v1/treasury" --header "Authorization: Bearer $MERCURY_API_TOKEN"' | jq .
bash -c 'curl -s "https://api.mercury.com/api/v1/treasury/{treasuryId}" --header "Authorization: Bearer $MERCURY_API_TOKEN"' | jq .
bash -c 'curl -s "https://api.mercury.com/api/v1/treasury/{treasuryId}/transactions" --header "Authorization: Bearer $MERCURY_API_TOKEN"' | jq .
bash -c 'curl -s "https://api.mercury.com/api/v1/users" --header "Authorization: Bearer $MERCURY_API_TOKEN"' | jq .
bash -c 'curl -s "https://api.mercury.com/api/v1/credit" --header "Authorization: Bearer $MERCURY_API_TOKEN"' | jq .
bash -c 'curl -s "https://api.mercury.com/api/v1/accounts-receivable/customers" --header "Authorization: Bearer $MERCURY_API_TOKEN"' | jq .
bash -c 'curl -s -X POST "https://api.mercury.com/api/v1/accounts-receivable/customers" --header "Authorization: Bearer $MERCURY_API_TOKEN" --header "Content-Type: application/json" -d '"'"'{"name": "Customer Name", "email": "customer@example.com"}'"'"'' | jq .
bash -c 'curl -s "https://api.mercury.com/api/v1/accounts-receivable/invoices" --header "Authorization: Bearer $MERCURY_API_TOKEN"' | jq .
bash -c 'curl -s -X POST "https://api.mercury.com/api/v1/accounts-receivable/invoices" --header "Authorization: Bearer $MERCURY_API_TOKEN" --header "Content-Type: application/json" -d '"'"'{"customerId": "customer-id", "lineItems": [{"description": "Service", "amount": 500.00}], "dueDate": "2024-12-31"}'"'"'' | jq .
bash -c 'curl -s "https://api.mercury.com/api/v1/accounts-receivable/invoice/{invoiceId}/pdf" --header "Authorization: Bearer $MERCURY_API_TOKEN"' > invoice.pdf
idempotencyKey for transfer operations to prevent duplicate transactionslimit and offset parameters where supported