Meow Products API

Manage products and pricing for invoicing.

OpenAPI Specification

meow-products-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Meow Accounts Products 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: Products
  description: Manage products and pricing for invoicing.
paths:
  /billing/products:
    get:
      tags:
      - Products
      summary: List Products
      description: Returns a list of all products to be used with invoicing.
      operationId: list_products_billing_products_get
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/InvoiceProductResponse'
                type: array
                title: Response List Products Billing Products Get
      security:
      - apiKeyAuth:
        - billing:products:read
      parameters:
      - $ref: '#/components/parameters/EntityIdHeader'
    post:
      tags:
      - Products
      summary: Create Product
      description: Creates a new product.
      operationId: create_product_billing_products_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateProductRequest'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InvoiceProductResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
      - apiKeyAuth:
        - billing:products:write
      parameters:
      - $ref: '#/components/parameters/EntityIdHeader'
  /billing/products/{product_id}:
    get:
      tags:
      - Products
      summary: Get Product by ID
      description: Returns a product by its ID.
      operationId: get_product_billing_products__product_id__get
      parameters:
      - name: product_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Product Id
      - $ref: '#/components/parameters/EntityIdHeader'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InvoiceProductResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
      - apiKeyAuth:
        - billing:products: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
    CreateProductRequest:
      properties:
        name:
          type: string
          maxLength: 100
          title: Name
        description:
          anyOf:
          - type: string
            maxLength: 400
          - type: 'null'
          title: Description
        default_price:
          anyOf:
          - type: number
            maximum: 10000000.0
            minimum: 0.0
          - type: string
            pattern: ^(?!^[-+.]*$)[+-]?0*\d*\.?\d{0,2}0*$
          title: Default Price
          description: Default price for the product (0.00 to 10,000,000.00).
      type: object
      required:
      - name
      - default_price
      title: CreateProductRequest
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    InvoiceProductResponse:
      properties:
        id:
          type: string
          format: uuid
          title: Id
          description: The unique identifier for the product.
        name:
          type: string
          title: Name
          description: The name of the product.
        description:
          anyOf:
          - type: string
          - type: 'null'
          title: Description
          description: The description of the product.
        default_price:
          type: string
          pattern: ^(?!^[-+.]*$)[+-]?0*\d*\.?\d*$
          title: Default Price
          description: The default price of the product.
      type: object
      required:
      - id
      - name
      - default_price
      title: InvoiceProductResponse
  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