Webhook event types

Every webhook event you can subscribe to in the Wingspan V3 API, grouped by resource, with what each one means.

Use this page to find the event names to put in a subscription's subscribedEvents, and to see what each event means.

Call GET /v3/platform/webhook-event-types to read event definitions, descriptions, routing scopes, and projection metadata. Use the event names below in a subscription's subscribedEvents.

This page lists the events you can subscribe to. The catalog response is the source of truth for event names, so check it before you rely on a name.

curl https://api.wingspan.app/v3/platform/webhook-event-types \
  -H "Authorization: Bearer $WINGSPAN_TOKEN"
// (trimmed)
{
  "data": [
    {
      "type": "Invoice.Paid",
      "contractStatus": "Published",
      "availableForSubscription": true,
      "resource": "Invoice",
      "domain": "payments",
      "payloadTier": "ResourceLifecycle",
      "moneyMovement": true,
      "allowedRoutingSubjectTypes": ["Account"],
      "description": "Emitted when Invoice records the Paid transition."
    }
  ]
}

How to read an event name

Every event type is {Resource}.{Event}, for example Invoice.Paid. The event describes a recorded transition: Invoice.Paid corresponds to the invoice's events.paidAt. Per-leg events identify the affected leg in context. You can subscribe to:

  • An exact name: Invoice.Paid.
  • Every event for one resource: Invoice.*.
  • Every event: *.

A wildcard also matches new event types for that resource, so your handler should ignore types it doesn't recognize.

What's in each event

Every event is a small reference, not a copy of the resource. Invoice, InvoicePayment, Payable, FundsMovement, and Payout events carry only the resource id in data. Other projections can include status and externalId. Fetch the resource from its API for the rest, including the fields you use for reconciliation. Some events add one of these:

FieldWhen it's presentExample
contextPer-leg events, where one resource has several parts (such as verification levels or notification channels).ComplianceEntity.Verified carries context.level; Notification.Delivered carries context.channel.
parentSub-resource events. It names the parent resource.InvoicePayment.Completed carries parent: { "type": "Invoice", "id": "..." }.
confirmationOnly on *.DepositConfirmed events.See Paid vs DepositConfirmed.

The Sent to column below lists the scope types that can receive each event (see Create a subscription). For events marked Both parties, each entitled payer or payee Account receives a separate event. These copies have different id values and share one occurrenceId.

Payments

FundsMovement

A single movement of money between accounts that backs a payment. Both the payer and the payee Account receive their own copy of each event.

EventMeaningSent to
FundsMovement.CreatedA funds movement was created.Account (Both parties)
FundsMovement.ProcessingA funds movement started processing.Account (Both parties)
FundsMovement.CompletedA funds movement completed.Account (Both parties)
FundsMovement.FailedA funds movement failed.Account (Both parties)
FundsMovement.ReturnedThe funds movement was returned by the rail after it was processed.Account (Both parties)
FundsMovement.CancelledA funds movement was cancelled.Account (Both parties)

GroupMember

A payee added to a payee group.

EventMeaningSent to
GroupMember.CreatedA payee was added to a group.Account

InternalAccount

A Wingspan-held financial account that belongs to an Account.

EventMeaningSent to
InternalAccount.OpenedAn internal account was opened.Account
InternalAccount.ClosedAn internal account was closed.Account
InternalAccount.CreatedAn internal account was created.Account
InternalAccount.UpdatedAn internal account was updated.Account

Invoice

A billing document. Each entitled payer or payee Account receives its own copy of an event.

EventMeaningSent to
Invoice.OpenedThe invoice was opened.Account (Both parties)
Invoice.CancelledThe invoice was cancelled.Account (Both parties)
Invoice.PaymentInTransitPayment on the invoice has started and is in transit.Account (Both parties)
Invoice.PaidWingspan marked the invoice paid. Funds may still be in transit. See Paid vs DepositConfirmed.Account (Both parties)
Invoice.DepositConfirmedWingspan's originating bank or provider reported the outbound payment as processed. It does not mean the recipient's bank posted the funds, and a return is still possible. See Paid vs DepositConfirmed.Account (Both parties)
Invoice.ReturnedA payment on the invoice was returned after it was sent.Account (Both parties)
Invoice.PaymentFailedA payment attempt on the invoice failed.Account (Both parties)
Invoice.RefundCompletedA refund on the invoice completed.Account (Both parties)

InvoicePayment

One payment attempt against an invoice. Events carry parent: { type: "Invoice", id } so you know which invoice it belongs to.

EventMeaningSent to
InvoicePayment.InitiatedAn invoice payment was initiated.Account (Both parties)
InvoicePayment.ProcessingAn invoice payment started processing.Account (Both parties)
InvoicePayment.CompletedAn invoice payment completed.Account (Both parties)
InvoicePayment.FailedAn invoice payment failed.Account (Both parties)
InvoicePayment.ReturnedAn invoice payment was returned.Account (Both parties)
InvoicePayment.CancelledAn invoice payment was cancelled.Account (Both parties)

Mandate

An authorization to debit a funding source (for example, an ACH debit authorization).

EventMeaningSent to
Mandate.CreatedA mandate was created.Account
Mandate.ActivatedA mandate was activated.Account
Mandate.ConsumedThe mandate was used for a debit and is no longer available for reuse.Account
Mandate.RevokedA mandate was revoked.Account
Mandate.ExpiredA mandate expired.Account
Mandate.EvidenceApprovedEvidence supporting the mandate was approved.Account
Mandate.EvidenceRejectedEvidence supporting the mandate was rejected.Account

Payable

A payment obligation from a payer to a payee. Both the payer and the payee Account receive their own copy of each event.

EventMeaningSent to
Payable.CreatedThe payable recorded a Created transition.Account (Both parties)
Payable.OpenedThe payable recorded an Opened transition.Account (Both parties)
Payable.PaymentInTransitThe payable recorded a PaymentInTransit transition.Account (Both parties)
Payable.PaidWingspan marked the payable paid. Funds may still be in transit. See Paid vs DepositConfirmed.Account (Both parties)
Payable.DepositConfirmedWingspan's originating bank or provider reported the outbound payment as processed. It does not mean the recipient's bank posted the funds. See Paid vs DepositConfirmed.Account (Both parties)
Payable.ReturnedThe payment for the payable was returned. Returned is final for that payable; create a new payable to pay again.Account (Both parties)
Payable.PartiallyPaidSome of the split payouts on the payable failed. It doesn't mean part of the payable is paid.Account (Both parties)

Payee

The payer-owned record of someone you pay.

EventMeaningSent to
Payee.ActivatedThe payee recorded an Activated transition (it sets events.activatedAt). It fires when POST /v3/payments/payees/{payeeId}/activate moves a Deactivated payee back to Activated. associate-account doesn't fire it, and it isn't an invitation-accepted signal. See Payees.Account

PayeeEngagement

A payer's engagement with a payee.

EventMeaningSent to
PayeeEngagement.EligibilityChangedThe engagement's stored paymentsEligibility flipped between Eligible and NotEligible. Payer engagements and inactive engagements emit nothing.Account

PayrollSchedule

A payer's pay-period cadence configuration.

EventMeaningSent to
PayrollSchedule.CreatedA payroll schedule was created.Account

Payout

A payout aggregates delivery transfers. Each entitled Account receives its own copy of an event. data contains the payout's id; read the payout for its transfers, amounts, and recovery state.

EventMeaningSent to
Payout.CreatedA payout first became visible in the API. Hidden payouts emit nothing.Account
Payout.ProcessingA visible payout's status changed to Processing. A payout that is first visible as fully Sent skips this event.Account
Payout.CompletedEvery delivery transfer is Sent, with nothing left to originate. Sent records the originating bank or provider's terminal processed state; it does not confirm receiving-bank receipt or availability.Account (Both parties)
Payout.DepositConfirmedThe payout recorded a DepositConfirmed transition. confirmation describes the originating-bank or provider processing evidence. It does not confirm receiving-bank posting or availability.Account (Both parties)
Payout.FailedRecovery stopped with an undelivered amount. A failed transfer while recovery continues is not this aggregate outcome.Account (Both parties)
Payout.ReturnedThe payout recorded a return occurrence. Read its transfers and recovery state to reconcile the affected amount.Account (Both parties)

Payable.Paid describes the payment obligation and FundsMovement.Completed describes one money movement. Neither alone establishes payout completion. Where the caller can read the payout, transfers[].fundsMovementId links it to the underlying movements. A later return can follow completion; Payout.Returned does not imply an aggregate Returned status. See Paid vs DepositConfirmed.

Finance

ExternalBankAccount

A bank account outside Wingspan that an Account has linked.

EventMeaningSent to
ExternalBankAccount.CreatedA V3 create inserted a new external bank account. Reused rows emit nothing.Account
ExternalBankAccount.VerifiedA micro-deposit amount matched, or a Plaid link verified the account at creation. Manual creation and verification bypass emit nothing.Account

Statement

A periodic account statement.

EventMeaningSent to
Statement.CreatedA statement was created.Account
Statement.UpdatedA statement was updated.Account

Transaction

A ledger transaction on an Account's financial account.

EventMeaningSent to
Transaction.CreatedA transaction was created.Account
Transaction.UpdatedA transaction was updated.Account

Transfer

A transfer between an Account's own financial accounts or external bank accounts.

EventMeaningSent to
Transfer.CreatedA transfer was created.Account
Transfer.UpdatedA transfer was updated.Account
Transfer.ProcessedA transfer was processed.Account
Transfer.CompletedA transfer completed.Account
Transfer.CancelledA transfer was cancelled.Account
Transfer.FailedA transfer failed.Account

Compliance

BackgroundCheck

A background check ordered for a payee.

EventMeaningSent to
BackgroundCheck.CreatedA background check was created.Account
BackgroundCheck.SentA background check was sent.Account
BackgroundCheck.SubmittedA background check was submitted.Account
BackgroundCheck.CompletedA background check completed.Account
BackgroundCheck.FailedA background check failed.Account

DocumentTemplate

A reusable document template used for e-signature.

EventMeaningSent to
DocumentTemplate.CreatedA document template was created.Account

InsuranceCoverage

A payee's insurance coverage record.

EventMeaningSent to
InsuranceCoverage.UpdatedAn insurance coverage was updated.Account
InsuranceCoverage.CreatedAn insurance coverage was created.Account

InsuranceImport

A bulk import of insurance coverage records.

EventMeaningSent to
InsuranceImport.CreatedAn insurance import was created.Account
InsuranceImport.ProcessedAn insurance import was processed.Account
InsuranceImport.SubmittedAn insurance import was submitted.Account

InsuranceMonitor

Ongoing monitoring of a payee's insurance coverage.

EventMeaningSent to
InsuranceMonitor.CreatedAn insurance monitor was created.Account
InsuranceMonitor.UpdatedAn insurance monitor was updated.Account

SharedFileRequest

A request for a payee to upload a file.

EventMeaningSent to
SharedFileRequest.CreatedA shared file request was created.Account
SharedFileRequest.UploadedA shared file request received an uploaded file.Account
SharedFileRequest.SubmittedA shared file request was submitted.Account
SharedFileRequest.CompletedA shared file request completed.Account
SharedFileRequest.FailedA shared file request failed.Account
SharedFileRequest.ProcessingA shared file request started processing.Account
SharedFileRequest.PendingSubmissionFiles were uploaded and the request is waiting to be submitted.Account

SignatureRequest

A request for one or more parties to sign a document.

EventMeaningSent to
SignatureRequest.CreatedA signature request was created.Account
SignatureRequest.SentA signature request was sent.Account
SignatureRequest.RemindedA reminder was sent to a signer who has not signed yet.Account
SignatureRequest.CompletedA signature request completed.Account
SignatureRequest.CancelledA signature request was cancelled.Account

VaultFile

A file stored in the vault at /v3/compliance/vault-files.

EventMeaningSent to
VaultFile.CreatedA vault file was created.Account
VaultFile.UpdatedA vault file was updated.Account

Platform

Account

A business entity in Wingspan.

EventMeaningSent to
Account.ClosedAn account was closed.Account
Account.UpdatedAn account was updated.Account

AccountingClass

A class record read from a connected accounting system.

EventMeaningSent to
AccountingClass.CreatedAn accounting class was created.Account
AccountingClass.RefreshedAn accounting class was refreshed from the accounting system.Account

AccountingConnection

A connection to an accounting system such as QuickBooks Online.

EventMeaningSent to
AccountingConnection.CreatedAn accounting connection was created.Account
AccountingConnection.ConnectedAn accounting connection finished connecting.Account
AccountingConnection.TokenRefreshedWingspan refreshed the connection's partner OAuth token.Account
AccountingConnection.DisconnectedThe partner link was torn down.Account

AccountingCustomer

A customer record read from a connected accounting system.

EventMeaningSent to
AccountingCustomer.CreatedAn accounting customer was created.Account
AccountingCustomer.RefreshedAn accounting customer was refreshed from the accounting system.Account

AccountingItem

An item record read from a connected accounting system.

EventMeaningSent to
AccountingItem.CreatedAn accounting item was created.Account
AccountingItem.RefreshedAn accounting item was refreshed from the accounting system.Account

AccountingVendor

A vendor record read from a connected accounting system.

EventMeaningSent to
AccountingVendor.CreatedAn accounting vendor was created.Account
AccountingVendor.RefreshedAn accounting vendor was refreshed from the accounting system.Account

ApiKey

An API key issued to a Person or a ServiceAccount.

EventMeaningSent to
ApiKey.CreatedAn api key was created.Account, Organization, Person
ApiKey.RevokedAn API key was revoked and no longer authenticates.Account, Organization, Person

ComplianceEntity

The verified legal identity (name, tax ID, address, and entity type) behind an Account or a Person. V1 called this a monitored entity, or ME.

EventMeaningSent to
ComplianceEntity.CreatedA compliance entity was created.Account, Person
ComplianceEntity.UpdatedA compliance entity was updated.Account, Person
ComplianceEntity.VerifiedA verification level moved from a non-Verified status to Verified. context.level is Tax, Banking, or Enhanced. Individual entities embedded in a Person route to the Person. Business entities and Account-owned entities route to the Account.Account, Person

Notification

A notification in a Person's inbox. Only a Person scope can receive these.

EventMeaningSent to
Notification.CreatedA notification was created.Person
Notification.SentA notification was sent on one channel. context.channel is InApp, Email, or SMS.Person
Notification.DeliveredA notification was delivered on one channel. context.channel is InApp, Email, or SMS.Person
Notification.FailedA notification failed on one channel. context.channel is InApp, Email, or SMS.Person
Notification.ViewedThe recipient viewed the notification.Person
Notification.DismissedThe notification was dismissed.Person

NotificationSubscription

An Account-level rule that routes notifications.

EventMeaningSent to
NotificationSubscription.CreatedA notification subscription was created.Account
NotificationSubscription.DeletedA notification subscription was deleted.Account

Operation

An AsyncOperation returned with a 202 Accepted. Poll GET /v3/platform/operations/{operationId} for the typed result.

EventMeaningSent to
Operation.CreatedAn async operation started.Account, Person
Operation.CompletedAn async operation finished and every item succeeded.Account, Person
Operation.PartiallyCompletedAn async operation finished and some, but not all, items failed.Account, Person
Operation.FailedAn async operation failed. Read error on the operation.Account, Person
Operation.CancelledThe owning service cancelled the async operation.Account, Person

Organization

A tenant that groups Accounts.

EventMeaningSent to
Organization.CreatedAn organization was created.Organization

Role

A custom role definition. System roles never change, so they emit no events.

EventMeaningSent to
Role.CreatedA role was created.Account, Organization
Role.UpdatedA role was updated.Account, Organization
Role.DeletedA role was deleted.Account, Organization

ServiceAccount

A machine identity owned by an Account or an Organization.

EventMeaningSent to
ServiceAccount.CreatedA service account was created.Account, Organization
ServiceAccount.UpdatedA service account was updated.Account, Organization
ServiceAccount.ActivatedA service account was activated.Account, Organization
ServiceAccount.InactivatedA service account was inactivated.Account, Organization
ServiceAccount.DisabledA service account was disabled.Account, Organization

Related pages


Did this page help you?