Welcome to the Meow API documentation. This guide will help you get started with integrating our API into your application.
- A Meow account
- An API key. You can get your API key from the Meow Dashboard
The Meow API uses API key authentication. You'll need to include your API key in the x-api-key header with every request:
curl -H "x-api-key: YOUR_API_KEY" https://api.meow.com/v1/accountsThe Meow API provides comprehensive functionality for accessing your financial data, managing cryptocurrency transactions, and creating invoices:
Accounts
GET /accounts- List all accountsGET /accounts/{account_id}- Get account detailsGET /accounts/{account_id}/payment-networks- Get payment networks supported by the account
Transactions
GET /accounts/{account_id}/transactions- List account transactions
Balances
GET /accounts/{account_id}/balances- Get account balances
Contacts Management
POST /contacts- Create a new contactGET /contacts- List all contactsGET /contacts/{contact_id}- Get contact detailsPATCH /contacts/{contact_id}- Update a contactDELETE /contacts/{contact_id}- Delete a contact
USDC Transfers
POST /accounts/{account_id}/usdc- Create a USDC transaction from a bank accountGET /accounts/{account_id}/transactions/{transaction_id}- Get USDC transaction details
Book Transfers
POST /accounts/{account_id}/book- Create internal book transfer between accounts
ACH Transfers
POST /accounts/{account_id}/ach- Create ACH transfer to external counterpartyPOST /accounts/{account_id}/ach/scheduled- Create scheduled ACH transferGET /accounts/{account_id}/ach/scheduled- List scheduled ACH transfersGET /accounts/{account_id}/achs/{ach_transfer_id}- Get ACH transfer details
Wire Transfers
POST /accounts/{account_id}/wire- Create wire transferGET /accounts/{account_id}/wires/{wire_transfer_id}- Get wire transfer details
Products
GET /billing/products- List all productsPOST /billing/products- Create a new productGET /billing/products/{product_id}- Get product details
Customers
GET /billing/customers- List all invoicing customersPOST /billing/customers- Create a new invoicing customerGET /billing/customers/{customer_id}- Get customer details
Invoices
GET /billing/invoices- List all invoicesPOST /billing/invoices- Create a new invoiceGET /billing/invoices/{invoice_id}- Get invoice detailsGET /billing/invoices/{invoice_id}/download- Download invoice as PDF
Line Items
GET /billing/invoices/{invoice_id}/line-items- List invoice line itemsGET /billing/invoices/{invoice_id}/line-items/{line_item_id}- Get line item details
Payment Configuration
GET /billing/payment-method-types- Get available payment method typesGET /billing/accounts- List collection accounts for receiving payments
- Bills
GET /bills- List all bills with optional status filteringGET /bills/{bill_id}- Get bill details including line items
Routing Numbers
GET /routing-numbers/{routing_number}- Validate routing number and get bank information
API Keys
GET /api-keys/accessible-entities- List entities accessible by current API keyGET /api-keys/current- Get metadata about the current API key
The API requires specific permissions for different operations:
accounts:read- View account informationaccounts:balances- View account balancesaccounts:transactions- View account transactionsaccounts:statements- Access account statementsaccounts:payment-networks- View account payment networkscontacts:read- View cryptocurrency contactscontacts:write- Create and delete cryptocurrency contactstransfers:usdc:write- Initiate USDC transferstransfers:book:write- Create book transferstransfers:ach:write- Create ACH transferstransfers:wire:write- Create wire transfersbilling:products:read- View productsbilling:products:write- Create and manage productsbilling:customers:read- View invoicing customersbilling:customers:write- Create and manage customersbilling:invoices:read- View invoices and line itemsbilling:invoices:write- Create and manage invoicesbilling:accounts:read- View collection accountsbillpay:read- View bills and bill details
The API uses standard HTTP status codes and returns detailed error messages. Here are the possible errors you might encounter:
400 Bad Request(Code: 400)- When the request parameters or body are invalid
401 Unauthorized(Code: 401)- When the API key is invalid or missing
- Obtain a valid key from the Meow Dashboard
403 Forbidden(Code: 403)- When the API key lacks required permissions for the requested operation
- Check that your API key has the necessary scopes for this endpoint
404 Not Found(Code: 404)- When a requested resource doesn't exist
- For accounts: Use
/accountsto get a list of valid account IDs
422 Validation Error(Code: 422)- When request validation fails
- Check the error message for details on validation issues
500 Internal Server Error(Code: 500)- When an unexpected error occurs
Error Response Format:
{
"code": 701,
"message": "Account not found",
"debug_message": "Account not found. Use /accounts to get a list of accounts and their IDs."
}Cache Responses: Cache API responses when appropriate to minimize API calls
Error Handling: Always handle errors gracefully in your application
- Implement proper error handling for all possible error codes
- Contact support@meow.com when you need assistance
Security:
- Never expose your API key in client-side code
- Rotate keys regularly using the Meow Dashboard
USDC Operations:
- Verify cryptocurrency addresses carefully before creating contacts
- Give meaningful nicknames to contacts for easy identification
- Use the contact's static_memo_id when creating USDC transfers
- Start with small test transactions for new contacts
- Monitor transaction status
The Meow API supports multiple blockchain networks for USDC transactions:
- Ethereum
- Solana
- Base
When creating a contact, you must specify which network the cryptocurrency address belongs to.
If you need help or have questions:
- Email: support@meow.com
- Support Portal: https://support.meow.com
- API Status: https://status.meow.com