Skip to content

Overview

The Meow API provides comprehensive financial services and billing capabilities for businesses.

Core Features

  • Financial Data Access: Securely access account information, transactions, balances, and payment networks
  • USDC Operations: Create and manage cryptocurrency contacts, initiate USDC transfers across multiple blockchain networks

Billing API

The Billing API enables businesses to streamline their invoicing and payment collection:

  • Product Management: Create and manage products with customizable pricing
  • Customer Management: Maintain invoicing customers with billing addresses
  • Invoice Creation: Generate invoices with line items, discounts, and custom notes
  • Flexible Payment Options: Accept payments via bank transfer, ACH, cards, international wires, and USDC
  • Collection Accounts: Configure accounts for automated payment collection

Getting Started

Authenticate using your API key in the request header: x-api-key: your-api-key

For multi-entity access, you can optionally include the x-entity-id header to scope API requests to a specific entity. Use the /api-keys/accessible-entities endpoint to list all entities accessible by your API key.

Error Responses

Errors return JSON with code, message, and debug_message. The code aligns with FDX where possible; debug_message is for troubleshooting only.

Common error codes:

  • 500: Internal server error
  • 501: Subsystem unavailable
  • 503: Scheduled maintenance
  • 601: Data not found
  • 602: Customer not authorized
  • 701: Account not found
  • 703: Invalid input (including invalid date ranges)
  • 704: Account type not supported
  • 705: Account is closed
  • 801: Transaction not found
Download OpenAPI description
Languages
Servers
Mock server
https://docs.meow.com/_mock/meow_api
Meow API Production
https://api.meow.com/v1
Meow API Sandbox
https://api.sandbox.meow.com/v1

API Keys

Retrieve metadata about API keys and their accessible entities

Operations

Contacts

Manage USDC contacts for cryptocurrency transfers

Operations

Accounts

Access and manage financial accounts

Operations

Transactions

View account transaction history and details

Operations

Balances

Check account balances and available funds

Operations

Payment Networks

Manage payment networks and routing information

Operations

Transfers

Initiate and manage USDC transfers

Operations

Routing Numbers

Validate routing numbers and get bank information

Operations

Bill

View and manage bills for vendor payments

Operations

Products

Manage products and pricing for invoicing

Operations

Customers

Manage billing customers and their information

Operations

Invoices

Create and manage invoices

Operations

Request

Lists all invoices.

Security
apiKeyAuth
Headers
x-entity-idstring(uuid)

Optional entity ID for scoped access to entity-specific data

curl -i -X GET \
  https://docs.meow.com/_mock/meow_api/billing/invoices \
  -H 'x-api-key: YOUR_API_KEY_HERE' \
  -H 'x-entity-id: 497f6eca-6276-4993-bfeb-53cbbbba6f08'

Responses

Successful Response

Bodyapplication/jsonArray [
idstring(uuid)(Id)required

The unique identifier for the invoice

nameName (string) or Name (null)(Name)

The name of the invoice

Any of:

The name of the invoice

string(Name)
customer_idstring(uuid)(Customer Id)required

The unique identifier for the customer

line_item_idsArray of strings(uuid)(Line Item Ids)required

List of line item IDs associated with the invoice

invoice_dateDateString (string) or null

The date the invoice is scheduled to be sent

Any of:

ISO 8601 full-date in format 'YYYY-MM-DD' according to IETF RFC3339

string(date)(DateString)
due_dateDateString (string) or null

The date the invoice payment is due

Any of:

ISO 8601 full-date in format 'YYYY-MM-DD' according to IETF RFC3339

string(date)(DateString)
payment_method_typesArray of strings(Payment Method Types)required

List of allowed payment methods for the invoice

Items Enum"BANK_TRANSFER""CARD""ACH_DIRECT_DEBIT""INTERNATIONAL_WIRE""USDC_ETHEREUM""USDC_SOLANA""USDC_BASE""USDT_ETHEREUM""CASH_SOLANA"
send_email_on_creationboolean(Send Email On Creation)required

Whether to send an email upon invoice creation

additional_recipient_emailsArray of strings(Additional Recipient Emails)required

List of additional email addresses to receive the invoice

noteNote (string) or Note (null)(Note)

A note associated with the invoice

Any of:

A note associated with the invoice

string(Note)
collection_account_idstring(uuid)(Collection Account Id)required

The account ID where funds will be collected

created_atstring(date-time)(Timestamp)required

ISO 8601 date-time in format 'YYYY-MM-DDThh:mm:ss.nnn[Z|[+|-]hh:mm]' according to IETF RFC3339

updated_atTimestamp (string) or null

The timestamp when the invoice was last updated

Any of:

ISO 8601 date-time in format 'YYYY-MM-DDThh:mm:ss.nnn[Z|[+|-]hh:mm]' according to IETF RFC3339

string(date-time)(Timestamp)
]
Response
application/json
[ { "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "name": "string", "customer_id": "160c0c4b-9966-4dc1-a916-8407eb10d74e", "line_item_ids": [], "invoice_date": "2019-08-24", "due_date": "2019-08-24", "payment_method_types": [], "send_email_on_creation": true, "additional_recipient_emails": [], "note": "string", "collection_account_id": "d84ddb2f-39e1-4c6d-be0c-2221e75ce546", "created_at": "2019-08-24T14:15:22Z", "updated_at": "2019-08-24T14:15:22Z" } ]

Request

Creates a new invoice.

Security
apiKeyAuth
Headers
x-entity-idstring(uuid)

Optional entity ID for scoped access to entity-specific data

Bodyapplication/jsonrequired
customer_idstring(uuid)(Customer Id)required
line_itemsArray of objects(Line Items)required
line_items[].​product_idstring(uuid)(Product Id)required
line_items[].​quantityQuantity (number) or Quantity (string)(Quantity)required

Quantity of the product

Any of:

Quantity of the product

( 0.001 .. 100000000 ]
number(Quantity)( 0.001 .. 100000000 ]
line_items[].​price(Price (Price (number) or Price (string))) or Price (null)(Price)
Any of:

Price of the product, defaults to the product's default price

Any of:

Price of the product, defaults to the product's default price

[ 0.01 .. 100000000 ]
number(Price)[ 0.01 .. 100000000 ]
line_items[].​descriptionDescription (string) or Description (null)(Description)

Description of the product, will default to the product's description if not provided

Any of:

Description of the product, will default to the product's description if not provided

<= 400 characters
string(Description)<= 400 characters
line_items[].​discount_percentage(Discount Percentage (Discount Percentage (number) or Discount Percentage (string))) or Discount Percentage (null)(Discount Percentage)
Any of:

Discount percentage of the product

Any of:

Discount percentage of the product

[ 0 .. 100 ]
number(Discount Percentage)[ 0 .. 100 ]
line_items[].​discount_descriptionDiscount Description (string) or Discount Description (null)(Discount Description)

Description of the discount applied to the product

Any of:

Description of the discount applied to the product

<= 100 characters
string(Discount Description)<= 100 characters
invoice_datestring(date)(DateString)required

ISO 8601 full-date in format 'YYYY-MM-DD' according to IETF RFC3339

due_datestring(date)(DateString)required

ISO 8601 full-date in format 'YYYY-MM-DD' according to IETF RFC3339

payment_method_typesArray of strings(Payment Method Types)required

Payment method types to enable on the invoice. BANK_TRANSFER is always enabled.

Items Enum"BANK_TRANSFER""CARD""ACH_DIRECT_DEBIT""INTERNATIONAL_WIRE""USDC_ETHEREUM""USDC_SOLANA""USDC_BASE""USDT_ETHEREUM""CASH_SOLANA"
recurring_scheduleRecurring Schedule (string) or Recurring Schedule (null)(Recurring Schedule)

Recurring schedule for the invoice. Enter a valid RFC 2445 RRULE string. If you need help creating one, use https://icalendar.org/rrule-tool.html

Any of:

RFC 5545 RRULE string. Required: DTSTART, RRULE. Allowed frequencies: WEEKLY, MONTHLY.

[ 1 .. 120 ] characters
string(Recurring Schedule)[ 1 .. 120 ] characters
send_email_on_creationboolean(Send Email On Creation)required

If true, sends an email to the contact (and any additional recipients) on the invoice_date.

additional_recipient_emailsArray of Additional Recipient Emails (strings) or Additional Recipient Emails (null)(Additional Recipient Emails)

Additional recipient emails to send the invoice and any reminders to

Any of:

Additional recipient emails to send the invoice and any reminders to

<= 20 items
noteNote (string) or Note (null)(Note)

Note to include on the invoice

Any of:

Note to include on the invoice

<= 300 characters
string(Note)<= 300 characters
nameName (string) or Name (null)(Name)

Name of the invoice

Any of:

Name of the invoice

<= 32 characters
string(Name)<= 32 characters
collection_account_idstring(uuid)(Collection Account Id)required

Account ID that payments on this invoice will be deposited to

show_contact_addressboolean(Show Contact Address)

Whether to show the contact's address on the invoice, if it exists

Default false
curl -i -X POST \
  https://docs.meow.com/_mock/meow_api/billing/invoices \
  -H 'Content-Type: application/json' \
  -H 'x-api-key: YOUR_API_KEY_HERE' \
  -H 'x-entity-id: 497f6eca-6276-4993-bfeb-53cbbbba6f08' \
  -d '{
    "customer_id": "160c0c4b-9966-4dc1-a916-8407eb10d74e",
    "line_items": [
      {
        "product_id": "0d012afa-f885-4e65-aeca-37e27701e2d1",
        "quantity": 1,
        "price": 0.01,
        "description": "string",
        "discount_percentage": 100,
        "discount_description": "string"
      }
    ],
    "invoice_date": "2019-08-24",
    "due_date": "2019-08-24",
    "payment_method_types": [
      "BANK_TRANSFER"
    ],
    "recurring_schedule": "string",
    "send_email_on_creation": true,
    "additional_recipient_emails": [
      "user@example.com"
    ],
    "note": "string",
    "name": "string",
    "collection_account_id": "d84ddb2f-39e1-4c6d-be0c-2221e75ce546",
    "show_contact_address": false
  }'

Responses

Successful Response

Bodyapplication/json
idstring(uuid)(Id)required

The unique identifier for the invoice

nameName (string) or Name (null)(Name)

The name of the invoice

Any of:

The name of the invoice

string(Name)
customer_idstring(uuid)(Customer Id)required

The unique identifier for the customer

line_item_idsArray of strings(uuid)(Line Item Ids)required

List of line item IDs associated with the invoice

invoice_dateDateString (string) or null

The date the invoice is scheduled to be sent

Any of:

ISO 8601 full-date in format 'YYYY-MM-DD' according to IETF RFC3339

string(date)(DateString)
due_dateDateString (string) or null

The date the invoice payment is due

Any of:

ISO 8601 full-date in format 'YYYY-MM-DD' according to IETF RFC3339

string(date)(DateString)
payment_method_typesArray of strings(Payment Method Types)required

List of allowed payment methods for the invoice

Items Enum"BANK_TRANSFER""CARD""ACH_DIRECT_DEBIT""INTERNATIONAL_WIRE""USDC_ETHEREUM""USDC_SOLANA""USDC_BASE""USDT_ETHEREUM""CASH_SOLANA"
send_email_on_creationboolean(Send Email On Creation)required

Whether to send an email upon invoice creation

additional_recipient_emailsArray of strings(Additional Recipient Emails)required

List of additional email addresses to receive the invoice

noteNote (string) or Note (null)(Note)

A note associated with the invoice

Any of:

A note associated with the invoice

string(Note)
collection_account_idstring(uuid)(Collection Account Id)required

The account ID where funds will be collected

created_atstring(date-time)(Timestamp)required

ISO 8601 date-time in format 'YYYY-MM-DDThh:mm:ss.nnn[Z|[+|-]hh:mm]' according to IETF RFC3339

updated_atTimestamp (string) or null

The timestamp when the invoice was last updated

Any of:

ISO 8601 date-time in format 'YYYY-MM-DDThh:mm:ss.nnn[Z|[+|-]hh:mm]' according to IETF RFC3339

string(date-time)(Timestamp)
Response
application/json
{ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "name": "string", "customer_id": "160c0c4b-9966-4dc1-a916-8407eb10d74e", "line_item_ids": [ "497f6eca-6276-4993-bfeb-53cbbbba6f08" ], "invoice_date": "2019-08-24", "due_date": "2019-08-24", "payment_method_types": [ "BANK_TRANSFER" ], "send_email_on_creation": true, "additional_recipient_emails": [ "string" ], "note": "string", "collection_account_id": "d84ddb2f-39e1-4c6d-be0c-2221e75ce546", "created_at": "2019-08-24T14:15:22Z", "updated_at": "2019-08-24T14:15:22Z" }

Request

Gets an invoice by ID.

Security
apiKeyAuth
Path
invoice_idstring(uuid)(Invoice Id)required
Headers
x-entity-idstring(uuid)

Optional entity ID for scoped access to entity-specific data

curl -i -X GET \
  'https://docs.meow.com/_mock/meow_api/billing/invoices/{invoice_id}' \
  -H 'x-api-key: YOUR_API_KEY_HERE' \
  -H 'x-entity-id: 497f6eca-6276-4993-bfeb-53cbbbba6f08'

Responses

Successful Response

Bodyapplication/json
idstring(uuid)(Id)required

The unique identifier for the invoice

nameName (string) or Name (null)(Name)

The name of the invoice

Any of:

The name of the invoice

string(Name)
customer_idstring(uuid)(Customer Id)required

The unique identifier for the customer

line_item_idsArray of strings(uuid)(Line Item Ids)required

List of line item IDs associated with the invoice

invoice_dateDateString (string) or null

The date the invoice is scheduled to be sent

Any of:

ISO 8601 full-date in format 'YYYY-MM-DD' according to IETF RFC3339

string(date)(DateString)
due_dateDateString (string) or null

The date the invoice payment is due

Any of:

ISO 8601 full-date in format 'YYYY-MM-DD' according to IETF RFC3339

string(date)(DateString)
payment_method_typesArray of strings(Payment Method Types)required

List of allowed payment methods for the invoice

Items Enum"BANK_TRANSFER""CARD""ACH_DIRECT_DEBIT""INTERNATIONAL_WIRE""USDC_ETHEREUM""USDC_SOLANA""USDC_BASE""USDT_ETHEREUM""CASH_SOLANA"
send_email_on_creationboolean(Send Email On Creation)required

Whether to send an email upon invoice creation

additional_recipient_emailsArray of strings(Additional Recipient Emails)required

List of additional email addresses to receive the invoice

noteNote (string) or Note (null)(Note)

A note associated with the invoice

Any of:

A note associated with the invoice

string(Note)
collection_account_idstring(uuid)(Collection Account Id)required

The account ID where funds will be collected

created_atstring(date-time)(Timestamp)required

ISO 8601 date-time in format 'YYYY-MM-DDThh:mm:ss.nnn[Z|[+|-]hh:mm]' according to IETF RFC3339

updated_atTimestamp (string) or null

The timestamp when the invoice was last updated

Any of:

ISO 8601 date-time in format 'YYYY-MM-DDThh:mm:ss.nnn[Z|[+|-]hh:mm]' according to IETF RFC3339

string(date-time)(Timestamp)
Response
application/json
{ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "name": "string", "customer_id": "160c0c4b-9966-4dc1-a916-8407eb10d74e", "line_item_ids": [ "497f6eca-6276-4993-bfeb-53cbbbba6f08" ], "invoice_date": "2019-08-24", "due_date": "2019-08-24", "payment_method_types": [ "BANK_TRANSFER" ], "send_email_on_creation": true, "additional_recipient_emails": [ "string" ], "note": "string", "collection_account_id": "d84ddb2f-39e1-4c6d-be0c-2221e75ce546", "created_at": "2019-08-24T14:15:22Z", "updated_at": "2019-08-24T14:15:22Z" }

Line Items

Manage invoice line items

Operations

Payment Methods

Configure available payment methods

Operations

Collection Accounts

Manage accounts for payment collection

Operations