Skip to content
Last updated

Getting Started with Meow API

Welcome to the Meow API documentation. This guide will help you get started with integrating our API into your application.

Prerequisites

  • A Meow account
  • An API key. You can get your API key from the Meow Dashboard

Authentication

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/accounts

Available APIs and Endpoints

The Meow API provides comprehensive functionality for accessing your financial data, managing cryptocurrency transactions, and creating invoices:

Account Information

  • Accounts

    • GET /accounts - List all accounts
    • GET /accounts/{account_id} - Get account details
    • GET /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

Cryptocurrency Operations

  • USDC Contacts Management

    • POST /contacts/usdc - Create a new USDC contact
    • GET /contacts - List all contacts
    • DELETE /contacts/{contact_id} - Delete a contact
  • USDC Transfers

    • POST /accounts/{account_id}/usdc - Create a USDC transaction from a bank account

Billing Operations

  • Products

    • GET /billing/products - List all products
    • POST /billing/products - Create a new product
    • GET /billing/products/{product_id} - Get product details
  • Customers

    • GET /billing/customers - List all invoicing customers
    • POST /billing/customers - Create a new invoicing customer
    • GET /billing/customers/{customer_id} - Get customer details
  • Invoices

    • GET /billing/invoices - List all invoices
    • POST /billing/invoices - Create a new invoice
    • GET /billing/invoices/{invoice_id} - Get invoice details
  • Line Items

    • GET /billing/invoices/{invoice_id}/line-items - List invoice line items
    • GET /billing/invoices/{invoice_id}/line-items/{line_item_id} - Get line item details
  • Payment Configuration

    • GET /billing/payment-method-types - Get available payment method types
    • GET /billing/accounts - List collection accounts for receiving payments

API Permissions

The API requires specific permissions for different operations:

  • accounts:read - View account information
  • accounts:balances - View account balances
  • accounts:transactions - View account transactions
  • accounts:statements - Access account statements
  • accounts:payment-networks - View account payment networks
  • contacts:read - View cryptocurrency contacts
  • contacts:write - Create and delete cryptocurrency contacts
  • transfers:usdc:write - Initiate USDC transfers
  • billing:products:read - View products
  • billing:products:write - Create and manage products
  • billing:customers:read - View invoicing customers
  • billing:customers:write - Create and manage customers
  • billing:invoices:read - View invoices and line items
  • billing:invoices:write - Create and manage invoices
  • billing:accounts:read - View collection accounts

Error Handling

The API uses standard HTTP status codes and returns detailed error messages. Here are the possible errors you might encounter:

Client Errors (4xx)

  • 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 /accounts to 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

Server Errors (5xx)

  • 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."
}

Best Practices

  1. Cache Responses: Cache API responses when appropriate to minimize API calls

  2. 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
  3. Security:

    • Never expose your API key in client-side code
    • Rotate keys regularly using the Meow Dashboard
  4. 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

Blockchain Network Support

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.

Support

If you need help or have questions:

  • Email: support@meow.com
  • Support Portal: https://support.meow.com
  • API Status: https://status.meow.com