Meow API Keys API

Retrieve metadata about API keys and their accessible entities.

OpenAPI Specification

meow-api-keys-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Meow Accounts API Keys 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: API Keys
  description: Retrieve metadata about API keys and their accessible entities.
paths:
  /api-keys/accessible-entities:
    get:
      tags:
      - API Keys
      summary: List Accessible Entities
      description: 'Returns the entities your API key can access, with their IDs and names, so

        you know which entity ID to pass in the `x-entity-id` header.'
      operationId: list_accessible_entities_api_keys_accessible_entities_get
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListAccessibleEntitiesResponse'
      security:
      - apiKeyAuth:
        - accounts:read
  /api-keys/current:
    get:
      tags:
      - API Keys
      summary: Get Current API Key
      description: 'Returns metadata about the API key used for the current request, including

        its type and scopes.'
      operationId: get_current_api_key_api_keys_current_get
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CurrentApiKeyResponse'
      security:
      - apiKeyAuth:
        - accounts:read
components:
  schemas:
    CurrentApiKeyResponse:
      properties:
        id:
          type: string
          title: Id
          description: The API key's opaque identifier.
        key_type:
          $ref: '#/components/schemas/ApiKeyType'
          description: The type of API key.
        scopes:
          items:
            $ref: '#/components/schemas/ApiKeyScope'
          type: array
          title: Scopes
          description: The scopes granted to this key, in order.
        owner_entity:
          anyOf:
          - $ref: '#/components/schemas/ApiKeyEntityInfo'
          - type: 'null'
          description: The entity associated with this key, when applicable.
        owner_email:
          anyOf:
          - type: string
          - type: 'null'
          title: Owner Email
          description: Email address of the user who owns this key, when applicable.
      type: object
      required:
      - id
      - key_type
      - scopes
      title: CurrentApiKeyResponse
      description: Metadata describing the API key used for the current request.
      example:
        id: a_AEVN-4eFgihjZr8-BH3g
        key_type: entity
        owner_entity:
          entity_id: 94a60dc7-93ab-4fed-8b2f-4008cdf7289b
          entity_name: AMITY
        scopes:
        - accounts:read
        - accounts:transactions
        - transfers:book:write
    ApiKeyScope:
      type: string
      enum:
      - 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
      title: ApiKeyScope
    AccessibleEntity:
      properties:
        entity_id:
          type: string
          title: Entity Id
          description: The entity's public identifier.
        entity_name:
          type: string
          title: Entity Name
          description: The entity's name.
        access_type:
          $ref: '#/components/schemas/AccessibleEntityAccessType'
          description: How your API key gains access to the entity.
        role:
          anyOf:
          - $ref: '#/components/schemas/UserRoleEnum'
          - type: 'null'
          description: Your role and permissions for this entity, when applicable (global API keys only).
      type: object
      required:
      - entity_id
      - entity_name
      - access_type
      title: AccessibleEntity
      description: An entity your API key can access.
    ListAccessibleEntitiesResponse:
      properties:
        entities:
          items:
            $ref: '#/components/schemas/AccessibleEntity'
          type: array
          title: Entities
          description: The entities your API key can access.
      type: object
      required:
      - entities
      title: ListAccessibleEntitiesResponse
      description: The entities your API key can access.
      example:
        entities:
        - access_type: global_api_key
          entity_id: 94a60dc7-93ab-4fed-8b2f-4008cdf7289b
          entity_name: AMITY
          role: Admin
        - access_type: global_api_key
          entity_id: 123e4567-e89b-12d3-a456-426614174000
          entity_name: Acme Corp
          role: Viewer
        - access_type: entity_api_key
          entity_id: 123e4567-e89b-12d3-a456-426614174111
          entity_name: Entity API Key Example
    AccessibleEntityAccessType:
      type: string
      enum:
      - global_api_key
      - entity_api_key
      title: AccessibleEntityAccessType
    ApiKeyType:
      type: string
      enum:
      - entity
      - user
      title: ApiKeyType
    UserRoleEnum:
      type: string
      enum:
      - Admin
      - Viewer
      - Bookkeeper
      - Controller
      - Card user
      - Card manager
      - Invoice user
      - AP Clerk
      - AP/AR Bookkeeper
      - None
      title: UserRoleEnum
    ApiKeyEntityInfo:
      properties:
        entity_id:
          type: string
          title: Entity Id
          description: The entity's public identifier.
        entity_name:
          type: string
          title: Entity Name
          description: The entity's display name.
      type: object
      required:
      - entity_id
      - entity_name
      title: ApiKeyEntityInfo
      description: Identifying information for the entity that owns an API key.
  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