Meow Webhooks API
Manage webhook subscriptions and inspect delivery history.
Manage webhook subscriptions and inspect delivery history.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/meow-webhooks-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
openapi: 3.2.0
info:
title: Meow Accounts Webhooks 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: Webhooks
description: Manage webhook subscriptions and inspect delivery history.
paths:
/webhooks/subscriptions:
post:
tags:
- Webhooks
summary: Create Webhook Subscription
description: Creates a webhook subscription for your entity and returns it along with the signing secret. The secret is returned only once, so store it now to verify delivery signatures.
operationId: create_subscription_webhooks_subscriptions_post
parameters:
- name: Idempotency-Key
in: header
required: true
schema:
type: string
minLength: 1
maxLength: 50
description: A unique key you supply in the `Idempotency-Key` header (1-50 characters). Keys are scoped to the webhook owner across all webhook POST endpoints. Reusing a key for the same owner returns 400.
title: Idempotency-Key
description: A unique key you supply in the `Idempotency-Key` header (1-50 characters). Keys are scoped to the webhook owner across all webhook POST endpoints. Reusing a key for the same owner returns 400.
- $ref: '#/components/parameters/EntityIdHeader'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreateWebhookSubscriptionRequest'
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/WebhookSubscriptionWithSecretResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
security:
- apiKeyAuth:
- webhooks:write
get:
tags:
- Webhooks
summary: List Webhook Subscriptions
description: Returns the webhook subscriptions configured for your entity.
operationId: list_subscriptions_webhooks_subscriptions_get
responses:
'200':
description: Successful Response
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/WebhookSubscriptionResponse'
title: Response List Subscriptions Webhooks Subscriptions Get
security:
- apiKeyAuth:
- webhooks:read
parameters:
- $ref: '#/components/parameters/EntityIdHeader'
/webhooks/subscriptions/{subscription_id}:
patch:
tags:
- Webhooks
summary: Update Webhook Subscription
description: Updates a webhook subscription. Returns the updated subscription, including a new signing secret when you request a rotation.
operationId: update_subscription_webhooks_subscriptions__subscription_id__patch
parameters:
- name: subscription_id
in: path
required: true
schema:
type: string
format: uuid
title: Subscription Id
- $ref: '#/components/parameters/EntityIdHeader'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateWebhookSubscriptionRequest'
responses:
'200':
description: Successful Response
content:
application/json:
schema:
anyOf:
- $ref: '#/components/schemas/WebhookSubscriptionResponse'
- $ref: '#/components/schemas/WebhookSubscriptionWithSecretResponse'
title: Response Update Subscription Webhooks Subscriptions Subscription Id Patch
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
security:
- apiKeyAuth:
- webhooks:write
delete:
tags:
- Webhooks
summary: Delete Webhook Subscription
description: Deletes a webhook subscription. Its delivery history stays queryable so you can review past attempts.
operationId: delete_subscription_webhooks_subscriptions__subscription_id__delete
parameters:
- name: subscription_id
in: path
required: true
schema:
type: string
format: uuid
title: Subscription Id
- $ref: '#/components/parameters/EntityIdHeader'
responses:
'204':
description: Successful Response
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
security:
- apiKeyAuth:
- webhooks:write
/webhooks/subscriptions/{subscription_id}/test:
post:
tags:
- Webhooks
summary: Send Test Webhook Event
description: Sends a test event to a webhook subscription and queues it for delivery so you can verify your endpoint and signature handling.
operationId: send_test_event_webhooks_subscriptions__subscription_id__test_post
parameters:
- name: subscription_id
in: path
required: true
schema:
type: string
format: uuid
title: Subscription Id
- name: Idempotency-Key
in: header
required: true
schema:
type: string
minLength: 1
maxLength: 50
description: A unique key you supply in the `Idempotency-Key` header (1-50 characters). Keys are scoped to the webhook owner across all webhook POST endpoints. Reusing a key for the same owner returns 400.
title: Idempotency-Key
description: A unique key you supply in the `Idempotency-Key` header (1-50 characters). Keys are scoped to the webhook owner across all webhook POST endpoints. Reusing a key for the same owner returns 400.
- $ref: '#/components/parameters/EntityIdHeader'
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/WebhookTestEventResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
security:
- apiKeyAuth:
- webhooks:write
/webhooks/deliveries/{delivery_id}/redrive:
post:
tags:
- Webhooks
summary: Redrive Webhook Delivery
description: Re-queues a failed webhook delivery for another attempt. A delivery that already succeeded or is currently being attempted cannot be redriven.
operationId: redrive_delivery_webhooks_deliveries__delivery_id__redrive_post
parameters:
- name: delivery_id
in: path
required: true
schema:
type: string
format: uuid
title: Delivery Id
- name: Idempotency-Key
in: header
required: true
schema:
type: string
minLength: 1
maxLength: 50
description: A unique key you supply in the `Idempotency-Key` header (1-50 characters). Keys are scoped to the webhook owner across all webhook POST endpoints. Reusing a key for the same owner returns 400.
title: Idempotency-Key
description: A unique key you supply in the `Idempotency-Key` header (1-50 characters). Keys are scoped to the webhook owner across all webhook POST endpoints. Reusing a key for the same owner returns 400.
- $ref: '#/components/parameters/EntityIdHeader'
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/WebhookRedriveResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
security:
- apiKeyAuth:
- webhooks:write
/webhooks/deliveries/{delivery_id}/attempts:
get:
tags:
- Webhooks
summary: List Webhook Delivery Attempts
description: Returns the individual delivery attempts for a webhook delivery, including the response status of each attempt.
operationId: list_delivery_attempts_webhooks_deliveries__delivery_id__attempts_get
parameters:
- name: delivery_id
in: path
required: true
schema:
type: string
format: uuid
title: Delivery Id
- name: limit
in: query
required: false
schema:
type: integer
maximum: 100
minimum: 1
default: 20
title: Limit
- name: offset
in: query
required: false
schema:
type: integer
minimum: 0
default: 0
title: Offset
- $ref: '#/components/parameters/EntityIdHeader'
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/WebhookDeliveryAttemptsResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
security:
- apiKeyAuth:
- webhooks:read
/webhooks/deliveries:
get:
tags:
- Webhooks
summary: List Webhook Deliveries
description: Returns the webhook deliveries for your entity across all subscriptions, most recent first.
operationId: list_deliveries_webhooks_deliveries_get
parameters:
- name: limit
in: query
required: false
schema:
type: integer
maximum: 100
minimum: 1
default: 20
title: Limit
- name: offset
in: query
required: false
schema:
type: integer
minimum: 0
default: 0
title: Offset
- $ref: '#/components/parameters/EntityIdHeader'
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/WebhookDeliveryListResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
security:
- apiKeyAuth:
- webhooks:read
/webhooks/global/subscriptions:
post:
tags:
- Webhooks
summary: Create Global Webhook Subscription
description: Creates a webhook subscription for every entity your global API key's user administers, including entities added later.
operationId: create_global_subscription_webhooks_global_subscriptions_post
parameters:
- name: Idempotency-Key
in: header
required: true
schema:
type: string
minLength: 1
maxLength: 50
description: A unique key you supply in the `Idempotency-Key` header (1-50 characters). Keys are scoped to the webhook owner across all webhook POST endpoints. Reusing a key for the same owner returns 400.
title: Idempotency-Key
description: A unique key you supply in the `Idempotency-Key` header (1-50 characters). Keys are scoped to the webhook owner across all webhook POST endpoints. Reusing a key for the same owner returns 400.
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreateWebhookSubscriptionRequest'
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/WebhookSubscriptionWithSecretResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
security:
- apiKeyAuth:
- webhooks:write
get:
tags:
- Webhooks
summary: List Global Webhook Subscriptions
description: Returns webhook subscriptions configured for your global API key user.
operationId: list_global_subscriptions_webhooks_global_subscriptions_get
responses:
'200':
description: Successful Response
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/WebhookSubscriptionResponse'
title: Response List Global Subscriptions Webhooks Global Subscriptions Get
security:
- apiKeyAuth:
- webhooks:read
/webhooks/global/subscriptions/{subscription_id}:
patch:
tags:
- Webhooks
summary: Update Global Webhook Subscription
description: Updates a global webhook subscription. Returns the updated subscription, including a new signing secret when you request a rotation.
operationId: update_global_subscription_webhooks_global_subscriptions__subscription_id__patch
parameters:
- name: subscription_id
in: path
required: true
schema:
type: string
format: uuid
title: Subscription Id
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateWebhookSubscriptionRequest'
responses:
'200':
description: Successful Response
content:
application/json:
schema:
anyOf:
- $ref: '#/components/schemas/WebhookSubscriptionResponse'
- $ref: '#/components/schemas/WebhookSubscriptionWithSecretResponse'
title: Response Update Global Subscription Webhooks Global Subscriptions Subscription Id Patch
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
security:
- apiKeyAuth:
- webhooks:write
delete:
tags:
- Webhooks
summary: Delete Global Webhook Subscription
description: Deletes a global webhook subscription. Its delivery history stays queryable so you can review past attempts.
operationId: delete_global_subscription_webhooks_global_subscriptions__subscription_id__delete
parameters:
- name: subscription_id
in: path
required: true
schema:
type: string
format: uuid
title: Subscription Id
responses:
'204':
description: Successful Response
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
security:
- apiKeyAuth:
- webhooks:write
/webhooks/global/subscriptions/{subscription_id}/test:
post:
tags:
- Webhooks
summary: Send Test Global Webhook Event
description: Sends a test event to a global webhook subscription and queues it for delivery so you can verify your endpoint and signature handling.
operationId: send_global_test_event_webhooks_global_subscriptions__subscription_id__test_post
parameters:
- name: subscription_id
in: path
required: true
schema:
type: string
format: uuid
title: Subscription Id
- name: Idempotency-Key
in: header
required: true
schema:
type: string
minLength: 1
maxLength: 50
description: A unique key you supply in the `Idempotency-Key` header (1-50 characters). Keys are scoped to the webhook owner across all webhook POST endpoints. Reusing a key for the same owner returns 400.
title: Idempotency-Key
description: A unique key you supply in the `Idempotency-Key` header (1-50 characters). Keys are scoped to the webhook owner across all webhook POST endpoints. Reusing a key for the same owner returns 400.
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/WebhookTestEventResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
security:
- apiKeyAuth:
- webhooks:write
/webhooks/global/deliveries/{delivery_id}/redrive:
post:
tags:
- Webhooks
summary: Redrive Global Webhook Delivery
description: Re-queues a failed global webhook delivery for another attempt. A delivery that already succeeded or is currently being attempted cannot be redriven.
operationId: redrive_global_delivery_webhooks_global_deliveries__delivery_id__redrive_post
parameters:
- name: delivery_id
in: path
required: true
schema:
type: string
format: uuid
title: Delivery Id
- name: Idempotency-Key
in: header
required: true
schema:
type: string
minLength: 1
maxLength: 50
description: A unique key you supply in the `Idempotency-Key` header (1-50 characters). Keys are scoped to the webhook owner across all webhook POST endpoints. Reusing a key for the same owner returns 400.
title: Idempotency-Key
description: A unique key you supply in the `Idempotency-Key` header (1-50 characters). Keys are scoped to the webhook owner across all webhook POST endpoints. Reusing a key for the same owner returns 400.
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/WebhookRedriveResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
security:
- apiKeyAuth:
- webhooks:write
/webhooks/global/deliveries/{delivery_id}/attempts:
get:
tags:
- Webhooks
summary: List Global Webhook Delivery Attempts
description: Returns the individual delivery attempts for a global webhook delivery, including the response status of each attempt.
operationId: list_global_delivery_attempts_webhooks_global_deliveries__delivery_id__attempts_get
parameters:
- name: delivery_id
in: path
required: true
schema:
type: string
format: uuid
title: Delivery Id
- name: limit
in: query
required: false
schema:
type: integer
maximum: 100
minimum: 1
default: 20
title: Limit
- name: offset
in: query
required: false
schema:
type: integer
minimum: 0
default: 0
title: Offset
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/WebhookDeliveryAttemptsResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
security:
- apiKeyAuth:
- webhooks:read
/webhooks/global/deliveries:
get:
tags:
- Webhooks
summary: List Global Webhook Deliveries
description: Returns webhook deliveries across all global subscriptions for your global API key user, most recent first.
operationId: list_global_deliveries_webhooks_global_deliveries_get
parameters:
- name: limit
in: query
required: false
schema:
type: integer
maximum: 100
minimum: 1
default: 20
title: Limit
- name: offset
in: query
required: false
schema:
type: integer
minimum: 0
default: 0
title: Offset
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/WebhookDeliveryListResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
security:
- apiKeyAuth:
- webhooks:read
components:
schemas:
UpdateWebhookSubscriptionRequest:
properties:
name:
anyOf:
- type: string
maxLength: 255
- type: 'null'
title: Name
url:
anyOf:
- type: string
maxLength: 2048
minLength: 1
format: uri
- type: 'null'
title: Url
event_types:
anyOf:
- items:
$ref: '#/components/schemas/WebhookEventType'
type: array
- type: 'null'
title: Event Types
rotate_secret:
type: boolean
title: Rotate Secret
default: false
is_enabled:
anyOf:
- type: boolean
- type: 'null'
title: Is Enabled
payload_mode:
anyOf:
- $ref: '#/components/schemas/WebhookPayloadMode'
- type: 'null'
type: object
title: UpdateWebhookSubscriptionRequest
WebhookPayloadMode:
type: string
enum:
- snapshot
- thin
title: WebhookPayloadMode
x-enum-varnames:
- snapshot
- thin
WebhookDeliveryAttemptResponse:
properties:
id:
type: string
format: uuid
title: Id
delivery_id:
type: string
format: uuid
title: Delivery Id
attempt_number:
type: integer
title: Attempt Number
webhook_msg_id:
type: string
title: Webhook Msg Id
request_url:
type: string
title: Request Url
response_status:
anyOf:
- type: integer
- type: 'null'
title: Response Status
response_body_excerpt:
anyOf:
- type: string
- type: 'null'
title: Response Body Excerpt
duration_ms:
anyOf:
- type: integer
- type: 'null'
title: Duration Ms
error_message:
anyOf:
- type: string
- type: 'null'
title: Error Message
attempted_at:
type: string
format: date-time
title: Attempted At
type: object
required:
- id
- delivery_id
- attempt_number
- webhook_msg_id
- request_url
- response_status
- response_body_excerpt
- duration_ms
- error_message
- attempted_at
title: WebhookDeliveryAttemptResponse
WebhookEventType:
type: string
enum:
- ach_transfer.created
- ach_transfer.updated
- wire_transfer.created
- wire_transfer.updated
- book_transfer.created
- book_transfer.updated
- inbound_ach_transfer.created
- inbound_ach_transfer.updated
- inbound_wire_transfer.created
- inbound_wire_transfer.updated
- check_deposit.created
- check_deposit.updated
- global_account_transfer.created
- application.created
- application.under_review
- application.submitted
- application.approved
- application.rejected
- identity_verification.action_required
- identity_verification.approved
- identity_verification.rejected
- balance.updated
- message.attempt.exhausted
- webhook.test
title: WebhookEventType
x-enum-varnames:
- ach_transfer_created
- ach_transfer_updated
- wire_transfer_created
- wire_transfer_updated
- book_transfer_created
- book_transfer_updated
- inbound_ach_transfer_created
- inbound_ach_transfer_updated
- inbound_wire_transfer_created
- inbound_wire_transfer_updated
- check_deposit_created
- check_deposit_updated
- global_account_transfer_created
- application_created
- application_under_review
- application_submitted
- application_approved
- application_rejected
- identity_verification_action_required
- identity_verification_approved
- identity_verification_rejected
- balance_updated
- message_attempt_exhausted
- webhook_test
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
DeliveryStatus:
type: string
enum:
- pending
- retrying
- in_progress
- succeeded
- failed_permanent
title: DeliveryStatus
x-enum-varnames:
- pending
- retrying
- in_progress
- succeeded
- failed_permanent
WebhookSubscriptionResponse:
properties:
id:
type: string
format: uuid
title: Id
name:
type: string
title: Name
url:
type: string
title: Url
is_enabled:
type: boolean
title: Is Enabled
event_types:
anyOf:
- items:
$ref: '#/components/schemas/WebhookEventType'
type: array
- type: 'null'
title: Event Types
payload_mode:
$ref: '#/components/schemas/WebhookPayloadMode'
created_time:
type: string
format: date-time
title: Created Time
updated_time:
type: string
format: date-time
title: Updated Time
type: object
required:
- id
- name
- url
- is_enabled
- event_types
- payload_mode
- created_time
- updated_time
title: WebhookSubscriptionResponse
WebhookRedriveResponse:
properties:
delivery_id:
type: string
format: uuid
title: Delivery Id
queued:
type: boolean
title: Queued
type: object
required:
- delivery_id
- queued
title: WebhookRedriveResponse
WebhookDeliveryResponse:
properties:
id:
type: string
format: uuid
title: Id
event_id:
type: string
format: uuid
title: Event Id
subscription_id:
type: string
format: uuid
title: Subscription Id
status:
$ref: '#/components/schemas/DeliveryStatus'
attempt_count:
type: integer
title: Attempt Count
next_attempt_at:
anyOf:
- type: string
format: date-time
- type: 'null'
title: Next Attempt At
last_attempted_at:
anyOf:
- type: string
format: date-time
- type: 'null'
title: Last Attempted At
created_time:
type: string
format: date-time
title: Created Time
updated_time:
type: string
format: date-time
title: Updated Time
event_type:
$ref: '#/components/schemas/WebhookEventType'
entity_id:
anyOf:
- type: string
format: uuid
- type: 'null'
title: Entity Id
description: 'The entity this delivery''s event belongs to, so a consumer of a global (user-scoped) subscription can attribute each delivery to an entity. `null` for events that are not scoped to a single entity: the `webhook.test` and `message.attempt.exhausted` meta events.'
resource_object:
anyOf:
- type: string
- type: 'null'
title: Resource Object
resource_id:
anyOf:
- type: string
- type: 'null'
title: Resource Id
sequence:
anyOf:
- type: integer
- type: 'null'
title: Sequence
type: object
required:
- id
- event_id
- subscription_id
- status
- attempt_count
- next_attempt_at
- last_attempted_at
- created_time
- updated_time
- event_type
- entity_id
- resource_object
- resource_id
- sequence
title: WebhookDeliveryResponse
WebhookDeliveryAttemptsResponse:
properties:
items:
items:
$ref: '#/components/schemas/WebhookDeliveryAttemptResponse'
type: array
title: Items
total_count:
type: integer
title: Total Count
has_more:
type: boolean
title: Has More
type: object
required:
- items
- total_count
- has_more
title: WebhookDeliveryAttemptsResponse
HTTPValidationError:
properties:
detail:
items:
$ref: '#/components/schemas/ValidationError'
type: array
title: Detail
type: object
title: HTTPValidationError
WebhookTestEventResponse:
properties:
event_id:
type: string
format: uuid
title: Event I
# --- truncated at 32 KB (36 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/meow/refs/heads/main/openapi/meow-webhooks-api-openapi.yml