OpenAPI Specification
openapi: 3.1.0
info:
title: Meow Accounts Customers API
description: '## Overview
The Meow API provides financial services and billing capabilities for your business.
### Core Features
- **Financial data access**: access account information, transactions, balances, and payment networks.
- **Crypto operations**: create and manage crypto contacts, and initiate USDC transfers across blockchain networks.
### Billing API
The Billing API lets you create and manage invoices and collect payments:
- **Product management**: create and manage products with custom pricing.
- **Customer management**: maintain invoicing customers with their addresses.
- **Invoice creation**: generate invoices with line items, discounts, and custom notes.
- **Payment options**: accept payments via ACH, wire, international wire, card, and USDC.
- **Collection accounts**: configure accounts for payment collection.
### Getting Started
Authenticate by sending your API key in the `x-api-key` request header.
To scope requests to a specific entity, include the `x-entity-id` header. 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; use `debug_message` 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
'
contact:
name: Meow
url: https://meow.com/
email: support@meow.com
version: 1.0.0
license:
name: Proprietary
url: https://www.meow.com/terms-of-service
servers:
- url: https://api.meow.com/v1
description: Meow API Production
- url: https://api.sandbox.meow.com/v1
description: Meow API Sandbox
security:
- apiKeyAuth: []
tags:
- name: Customers
description: Manage invoicing customers and their details.
paths:
/billing/customers:
get:
tags:
- Customers
summary: List Invoicing Customers
description: Returns a list of all invoicing customers.
operationId: list_invoicing_customers_billing_customers_get
responses:
'200':
description: Successful Response
content:
application/json:
schema:
items:
$ref: '#/components/schemas/InvoicingCustomer'
type: array
title: Response List Invoicing Customers Billing Customers Get
security:
- apiKeyAuth:
- billing:customers:read
parameters:
- $ref: '#/components/parameters/EntityIdHeader'
post:
tags:
- Customers
summary: Create Invoicing Customer
description: Creates a new invoicing customer.
operationId: create_invoicing_customer_billing_customers_post
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateInvoicingCustomerRequest'
required: true
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/InvoicingCustomer'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
security:
- apiKeyAuth:
- billing:customers:write
parameters:
- $ref: '#/components/parameters/EntityIdHeader'
/billing/customers/{customer_id}:
get:
tags:
- Customers
summary: Get Invoicing Customer by ID
description: Returns an invoicing customer by their ID.
operationId: get_invoicing_customer_billing_customers__customer_id__get
parameters:
- name: customer_id
in: path
required: true
schema:
type: string
format: uuid
title: Customer Id
- $ref: '#/components/parameters/EntityIdHeader'
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/InvoicingCustomer'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
security:
- apiKeyAuth:
- billing:customers:read
components:
schemas:
ValidationError:
properties:
loc:
items:
anyOf:
- type: string
- type: integer
type: array
title: Location
msg:
type: string
title: Message
type:
type: string
title: Error Type
type: object
required:
- loc
- msg
- type
title: ValidationError
CreateInvoicingCustomerRequest:
properties:
nickname:
type: string
minLength: 1
title: Nickname
email:
type: string
format: email
title: Email
address:
anyOf:
- $ref: '#/components/schemas/AddressRequest'
- type: 'null'
type: object
required:
- nickname
- email
title: CreateInvoicingCustomerRequest
AddressRequest:
properties:
street_line_1:
type: string
maxLength: 300
minLength: 1
title: Street Line 1
description: The primary address line.
street_line_2:
anyOf:
- type: string
maxLength: 300
minLength: 0
- type: 'null'
title: Street Line 2
description: The secondary address line.
city:
type: string
maxLength: 50
minLength: 0
title: City
description: The city.
state:
anyOf:
- type: string
maxLength: 200
minLength: 0
- type: 'null'
title: State
description: The state or province.
country:
$ref: '#/components/schemas/CountryCodeAlpha2'
description: The ISO 3166-1 alpha-2 country code.
postal_code:
anyOf:
- type: string
maxLength: 20
minLength: 1
- type: 'null'
title: Postal Code
description: The postal or ZIP code.
type: object
required:
- street_line_1
- city
- country
title: AddressRequest
HTTPValidationError:
properties:
detail:
items:
$ref: '#/components/schemas/ValidationError'
type: array
title: Detail
type: object
title: HTTPValidationError
CountryCodeAlpha2:
type: string
enum:
- AW
- AF
- AO
- AI
- AX
- AL
- AD
- AE
- AR
- AM
- AS
- AQ
- TF
- AG
- AU
- AT
- AZ
- BI
- BE
- BJ
- BQ
- BF
- BD
- BG
- BH
- BS
- BA
- BL
- BY
- BZ
- BM
- BO
- BR
- BB
- BN
- BT
- BV
- BW
- CF
- CA
- CC
- CH
- CL
- CN
- CI
- CM
- CD
- CG
- CK
- CO
- KM
- CV
- CR
- CU
- CW
- CX
- KY
- CY
- CZ
- DE
- DJ
- DM
- DK
- DO
- DZ
- EC
- EG
- ER
- EH
- ES
- EE
- ET
- FI
- FJ
- FK
- FR
- FO
- FM
- GA
- GB
- GE
- GG
- GH
- GI
- GN
- GP
- GM
- GW
- GQ
- GR
- GD
- GL
- GT
- GF
- GU
- GY
- HK
- HM
- HN
- HR
- HT
- HU
- ID
- IM
- IN
- IO
- IE
- IR
- IQ
- IS
- IL
- IT
- JM
- JE
- JO
- JP
- KZ
- KE
- KG
- KH
- KI
- KN
- KR
- KW
- LA
- LB
- LR
- LY
- LC
- LI
- LK
- LS
- LT
- LU
- LV
- MO
- MF
- MA
- MC
- MD
- MG
- MV
- MX
- MH
- MK
- ML
- MT
- MM
- ME
- MN
- MP
- MZ
- MR
- MS
- MQ
- MU
- MW
- MY
- YT
- NA
- NC
- NE
- NF
- NG
- NI
- NU
- NL
- 'NO'
- NP
- NR
- NZ
- OM
- PK
- PA
- PN
- PE
- PH
- PW
- PG
- PL
- PR
- KP
- PT
- PY
- PS
- PF
- QA
- RE
- RO
- RU
- RW
- SA
- SD
- SN
- SG
- GS
- SH
- SJ
- SB
- SL
- SV
- SM
- SO
- PM
- RS
- SS
- ST
- SR
- SK
- SI
- SE
- SZ
- SX
- SC
- SY
- TC
- TD
- TG
- TH
- TJ
- TK
- TM
- TL
- TO
- TT
- TN
- TR
- TV
- TW
- TZ
- UG
- UA
- UM
- UY
- US
- UZ
- VA
- VC
- VE
- VG
- VI
- VN
- VU
- WF
- WS
- XK
- YE
- ZA
- ZM
- ZW
title: CountryCodeAlpha2
x-enum-varnames:
- AW
- AF
- AO
- AI
- AX
- AL
- AD
- AE
- AR
- AM
- AS
- AQ
- TF
- AG
- AU
- AT
- AZ
- BI
- BE
- BJ
- BQ
- BF
- BD
- BG
- BH
- BS
- BA
- BL
- BY
- BZ
- BM
- BO
- BR
- BB
- BN
- BT
- BV
- BW
- CF
- CA
- CC
- CH
- CL
- CN
- CI
- CM
- CD
- CG
- CK
- CO
- KM
- CV
- CR
- CU
- CW
- CX
- KY
- CY
- CZ
- DE
- DJ
- DM
- DK
- DO
- DZ
- EC
- EG
- ER
- EH
- ES
- EE
- ET
- FI
- FJ
- FK
- FR
- FO
- FM
- GA
- GB
- GE
- GG
- GH
- GI
- GN
- GP
- GM
- GW
- GQ
- GR
- GD
- GL
- GT
- GF
- GU
- GY
- HK
- HM
- HN
- HR
- HT
- HU
- ID
- IM
- IN
- IO
- IE
- IR
- IQ
- IS
- IL
- IT
- JM
- JE
- JO
- JP
- KZ
- KE
- KG
- KH
- KI
- KN
- KR
- KW
- LA
- LB
- LR
- LY
- LC
- LI
- LK
- LS
- LT
- LU
- LV
- MO
- MF
- MA
- MC
- MD
- MG
- MV
- MX
- MH
- MK
- ML
- MT
- MM
- ME
- MN
- MP
- MZ
- MR
- MS
- MQ
- MU
- MW
- MY
- YT
- NA
- NC
- NE
- NF
- NG
- NI
- NU
- NL
- 'NO'
- NP
- NR
- NZ
- OM
- PK
- PA
- PN
- PE
- PH
- PW
- PG
- PL
- PR
- KP
- PT
- PY
- PS
- PF
- QA
- RE
- RO
- RU
- RW
- SA
- SD
- SN
- SG
- GS
- SH
- SJ
- SB
- SL
- SV
- SM
- SO
- PM
- RS
- SS
- ST
- SR
- SK
- SI
- SE
- SZ
- SX
- SC
- SY
- TC
- TD
- TG
- TH
- TJ
- TK
- TM
- TL
- TO
- TT
- TN
- TR
- TV
- TW
- TZ
- UG
- UA
- UM
- UY
- US
- UZ
- VA
- VC
- VE
- VG
- VI
- VN
- VU
- WF
- WS
- XK
- YE
- ZA
- ZM
- ZW
AddressResponse:
properties:
street_line_1:
anyOf:
- type: string
- type: 'null'
title: Street Line 1
description: The primary address line.
street_line_2:
anyOf:
- type: string
- type: 'null'
title: Street Line 2
description: The secondary address line.
city:
anyOf:
- type: string
- type: 'null'
title: City
description: The city.
state:
anyOf:
- type: string
- type: 'null'
title: State
description: The state or province.
country:
anyOf:
- $ref: '#/components/schemas/CountryCodeAlpha2'
- type: 'null'
description: The ISO 3166-1 alpha-2 country code.
postal_code:
anyOf:
- type: string
- type: 'null'
title: Postal Code
description: The postal or ZIP code.
type: object
title: AddressResponse
InvoicingCustomer:
properties:
id:
type: string
format: uuid
title: Id
description: The unique identifier for the customer.
nickname:
type: string
title: Nickname
description: The customer's nickname.
email:
anyOf:
- type: string
format: email
- type: 'null'
title: Email
description: The customer's email address.
address:
anyOf:
- $ref: '#/components/schemas/AddressResponse'
- type: 'null'
description: The customer's address details.
created_time:
type: string
format: date-time
title: Created Time
description: The timestamp when the customer was created.
updated_time:
anyOf:
- type: string
format: date-time
- type: 'null'
title: Updated Time
description: The timestamp when the customer was last updated.
type: object
required:
- id
- nickname
- created_time
title: InvoicingCustomer
parameters:
EntityIdHeader:
name: x-entity-id
in: header
required: false
schema:
type: string
format: uuid
description: Optional `entity_id` to scope requests to a specific entity.
securitySchemes:
apiKeyAuth:
type: apiKey
in: header
name: x-api-key
description: Your Meow API key, sent in the `x-api-key` header for authentication.
x-scopes:
- accounts:read
- accounts:write
- accounts:payment-networks
- accounts:transactions
- accounts:balances
- accounts:statements
- accounts:tax-documents
- entity:create
- transfers:crypto:write
- transfers:usdc:write
- transfers:ach:write
- transfers:wire:write
- transfers:book:write
- contacts:read
- contacts:write
- billing:products:read
- billing:products:write
- billing:customers:read
- billing:customers:write
- billing:invoices:read
- billing:invoices:write
- billing:accounts:read
- billpay:read
- billpay:write
- onboarding:read
- onboarding:write
- cards:read
- cards:write
- webhooks:read
- webhooks:write
- partner:onboarding:read
- partner:onboarding:write
- partner:webhooks:read
- partner:webhooks:write
- simulations:write
- banking:limits:read
- banking:limits:write
x-tagGroups:
- name: Core API
tags:
- API Keys
- Contacts
- Accounts
- Transactions
- Balances
- Payment Networks
- Transfers
- Routing Numbers
- Cards
- Tax Forms
- Webhooks
- name: Bill Pay
tags:
- Bills
- name: Billing
tags:
- Products
- Customers
- Invoices
- Line Items
- Payment Methods
- Collection Accounts
- name: Partner Onboarding
tags:
- Partner Onboarding
- name: Sandbox
tags:
- Simulations