Ntropy · AsyncAPI Specification

Ntropy Webhooks

Version v3

Event-driven notifications from the Ntropy API. Ntropy POSTs an event to the registered webhook url. If a token was set at creation it is sent in the X-Ntropy-Token header. Delivery is at-least-once (dedupe on event_id); non-2xx or >10s timeouts are retried for up to 24 hours.

View Spec View on GitHub CompanyFintechTransaction EnrichmentFinancial DataData EnrichmentBank StatementsCategorizationUnderwritingAsyncAPIEventsWebhooks

Channels

webhook

Messages

✉
BankStatementsCompleted
Bank statement finished processing
✉
BankStatementsError
Bank statement encountered an error processing
✉
BatchesCompleted
Batch finished processing
✉
BatchesError
Batch encountered an error processing
✉
ReportsResolved
Report has been resolved
✉
ReportsRejected
Report was rejected (see rejection_reason)
✉
ReportsPending
Report is being investigated

Servers

https
consumer
Consumer-hosted HTTPS endpoint registered via POST /v3/webhooks.

AsyncAPI Specification

Raw ↑
generated: '2026-07-20'
method: generated
source: https://docs.ntropy.com/webhooks
spec_type: AsyncAPI
asyncapi: 3.0.0
info:
  title: Ntropy Webhooks
  version: v3
  description: >-
    Event-driven notifications from the Ntropy API. Ntropy POSTs an event to the
    registered webhook url. If a token was set at creation it is sent in the
    X-Ntropy-Token header. Delivery is at-least-once (dedupe on event_id); non-2xx
    or >10s timeouts are retried for up to 24 hours.
defaultContentType: application/json
servers:
  consumer:
    host: your-application.example.com
    protocol: https
    description: Consumer-hosted HTTPS endpoint registered via POST /v3/webhooks.
channels:
  webhook:
    address: /
    messages:
      bankStatementsCompleted: { $ref: '#/components/messages/BankStatementsCompleted' }
      bankStatementsError: { $ref: '#/components/messages/BankStatementsError' }
      batchesCompleted: { $ref: '#/components/messages/BatchesCompleted' }
      batchesError: { $ref: '#/components/messages/BatchesError' }
      reportsResolved: { $ref: '#/components/messages/ReportsResolved' }
      reportsRejected: { $ref: '#/components/messages/ReportsRejected' }
      reportsPending: { $ref: '#/components/messages/ReportsPending' }
operations:
  receiveEvent:
    action: receive
    channel: { $ref: '#/channels/webhook' }
components:
  messages:
    BankStatementsCompleted:
      name: bank_statements.completed
      title: Bank statement finished processing
      payload: { $ref: '#/components/schemas/WebhookEvent' }
    BankStatementsError:
      name: bank_statements.error
      title: Bank statement encountered an error processing
      payload: { $ref: '#/components/schemas/WebhookEvent' }
    BatchesCompleted:
      name: batches.completed
      title: Batch finished processing
      payload: { $ref: '#/components/schemas/WebhookEvent' }
    BatchesError:
      name: batches.error
      title: Batch encountered an error processing
      payload: { $ref: '#/components/schemas/WebhookEvent' }
    ReportsResolved:
      name: reports.resolved
      title: Report has been resolved
      payload: { $ref: '#/components/schemas/WebhookEvent' }
    ReportsRejected:
      name: reports.rejected
      title: Report was rejected (see rejection_reason)
      payload: { $ref: '#/components/schemas/WebhookEvent' }
    ReportsPending:
      name: reports.pending
      title: Report is being investigated
      payload: { $ref: '#/components/schemas/WebhookEvent' }
  schemas:
    WebhookEvent:
      type: object
      properties:
        event_id:
          type: string
          description: Unique identifier for the event (dedupe key).
        event_type:
          type: string
          enum:
            - bank_statements.completed
            - bank_statements.error
            - batches.completed
            - batches.error
            - reports.resolved
            - reports.rejected
            - reports.pending
        data:
          type: object
          description: >-
            The event payload; follows the same schema as the corresponding resource
            (e.g. a batches.completed event carries a Batch object).
      required: [event_id, event_type, data]

Work with this as data

Every AsyncAPI spec here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for asyncapi

4 MCP tools reach this
  • find_asyncapisBrowse and filter every AsyncAPI spec in the catalog.
  • 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.
All 92 tools →

Call it yourself

curl for this page
This AsyncAPI spec
curl "https://apis.io/api/v1/asyncapis/ntropy-webhooks-asyncapi"
All asyncapi
curl "https://apis.io/api/v1/asyncapis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.