Upward Financial · AsyncAPI Specification

Upward Financial Webhooks

Version

View Spec View on GitHub CompanyFinTechCreditCredit BuildingPaymentsCardsEmbedded FinanceBill PayBankingKYCAsyncAPIWebhooksEvents

AsyncAPI Specification

Raw ↑
generated: '2026-07-21'
method: searched
source: https://developers.upwardli.com/concepts/webhooks/event-catalog
type: Webhooks
description: >-
  Upward (Upwardli) publishes a documented webhook event surface but no
  AsyncAPI specification, so this artifact captures the webhook catalog
  verbatim from the developer portal. Webhooks are registered via the API
  (POST /v2/webhooks/registrations, modeled in the OpenAPI) and secured with
  an HMAC-SHA256 signature in the Upwardli-Signature header (t=<timestamp>,
  v1=<hex digest> computed from the client_id secret over
  "<timestamp>.<raw JSON body>"). Payloads deliberately carry resource URIs
  rather than full objects — consumers follow the uri[s] in the body to fetch
  the referenced object from the API.
docs:
  - https://developers.upwardli.com/concepts/webhooks/introduction
  - https://developers.upwardli.com/concepts/webhooks/security
  - https://developers.upwardli.com/concepts/webhooks/event-catalog
  - https://developers.upwardli.com/concepts/webhooks/registration
security:
  mechanism: HMAC-SHA256 signature
  header: Upwardli-Signature
  format: "t=<unix_timestamp>,v1=<sha256 hex digest>"
  signed_payload: "<timestamp>.<raw JSON request body>"
registration:
  api: openapi/upward-financial-openapi.json
  operations:
    - register-webhook-listener
    - retrieve-webhook-registration
    - retrieve-webhook-history
    - update-webhook-history
    - delete-webhook-registration
envelope_fields: [id, created_at, event_name, partner_id, resources, last_attempted_at]
events:
  bank_account:
    - {name: Consumer.BankAccount.Created, description: Sent once a new bank account is associated/added to their profile.}
    - {name: Consumer.BankAccount.Deleted, description: Sent once a bank account is removed from their profile.}
  consumer:
    - {name: Consumer.Created, description: Sent once a consumer is created.}
    - {name: Consumer.Updated, description: Sent any time a consumer object is updated.}
    - {name: Consumer.Closed, description: Sent when a consumer account is closed.}
  consumer_kyc:
    - {name: Consumer.KYC.Approved, description: Sent once a Consumer is fully KYC approved.}
    - {name: Consumer.KYC.Completed, description: Sent once a Consumer has completed filling out data in an interactive KYC session.}
    - {name: Consumer.KYC.Failed, description: Sent when a Consumer fails KYC.}
    - {name: Consumer.KYC.NeedsReview, description: Sent if a Consumer's KYC data needs further review.}
    - {name: Consumer.KYC.Pending, description: Sent once a Consumer's KYC session is Pending.}
    - {name: Consumer.KYC.Started, description: Sent once a Consumer has begun the KYC process.}
  consumer_underwriting:
    - {name: Consumer.Underwriting.Approved, description: Sent once a Consumer's Underwriting is approved.}
    - {name: Consumer.Underwriting.Failed, description: Sent when a Consumer has failed Underwriting.}
  credit_line:
    - {name: CreditLine.Created, description: Sent once a new Credit Line is created.}
    - {name: CreditLine.Updated, description: Sent once a Credit Line is updated.}
    - {name: CreditLine.Closed, description: Sent once a Credit Line has been closed.}
  credit_line_transaction:
    - {name: CreditLine.Transaction.Created, description: Sent once a new transaction is created.}
    - {name: CreditLine.Transaction.Cleared, description: Sent once a transaction is cleared.}
    - {name: CreditLine.Transaction.Closed, description: Sent once a transaction has been closed.}
    - {name: CreditLine.Transaction.Canceled, description: Sent once a transaction has been canceled.}
  payment_ach:
    - {name: Payment.ACH.Created, description: Sent once an ACH Payment is created.}
    - {name: Payment.ACH.Completed, description: Sent when an ACH Payment is completed and funds have settled.}
    - {name: Payment.ACH.Failed, description: Sent when an ACH Payment fails - usually due to insufficient balance or incorrect sender/receiver data.}
    - {name: Payment.ACH.Canceled, description: Sent when an ACH Payment is canceled - usually via API or support action.}
    - {name: Payment.Ach.Received, description: Sent when an ACH Payment is received.}
  payment_aft:
    - {name: Payment.Aft.Created, description: Sent once an AFT Payment is created.}
    - {name: Payment.Aft.Sent, description: Sent once an AFT Payment is sent to the network.}
    - {name: Payment.Aft.Completed, description: Sent once an AFT Payment has been completed.}
    - {name: Payment.Aft.Failed, description: Sent once an AFT Payment fails.}
    - {name: Payment.Aft.Canceled, description: Sent once an AFT Payment is canceled.}
  payment_oct:
    - {name: Payment.Oct.Created, description: Sent once an OCT Payment is created.}
    - {name: Payment.Oct.Sent, description: Sent once an OCT Payment is sent to the network.}
    - {name: Payment.Oct.Completed, description: Sent once an OCT Payment has been completed.}
    - {name: Payment.Oct.Failed, description: Sent once an OCT Payment fails.}
    - {name: Payment.Oct.Canceled, description: Sent once an OCT Payment is canceled.}
  payment_instant:
    - {name: Payment.Instant.Created, description: Sent once an Instant Payment is created.}
    - {name: Payment.Instant.Sent, description: Sent once an Instant Payment is completed and funds have settled (interchangeable with Payment.Instant.Completed).}
    - {name: Payment.Instant.Completed, description: Sent when an Instant Payment is completed and funds have settled.}
    - {name: Payment.Instant.Failed, description: Sent when an Instant Payment fails - usually due to insufficient balance or incorrect sender/receiver data.}
    - {name: Payment.Instant.Canceled, description: Sent when an Instant Payment is canceled - usually via API or support action.}
  payment_p2p:
    - {name: Payment.P2P.Created, description: Sent once a P2P payment is submitted and in process. Not sent for payments in pending_review status.}
    - {name: Payment.P2P.Completed, description: Sent when a P2P payment is completed and funds have settled.}
    - {name: Payment.P2P.Failed, description: Sent when a P2P payment fails - usually due to a core banking error.}
    - {name: Payment.P2P.Canceled, description: Sent when a P2P payment is canceled.}
  payment_transfer:
    - {name: Payment.Transfer.Created, description: Sent once a Book Transfer is created.}
    - {name: Payment.Transfer.Completed, description: Sent when a Book Transfer is completed and funds have settled.}
    - {name: Payment.Transfer.Failed, description: Sent when a Book Transfer fails - usually due to insufficient balance or incorrect sender/receiver data.}
    - {name: Payment.Transfer.Canceled, description: Sent when a Book Transfer is canceled - usually via API or support action.}
  payment_card:
    - {name: PaymentCard.Created, description: Sent once a Payment Card is created.}
    - {name: PaymentCard.Updated, description: Sent once a Payment Card is updated.}
    - {name: PaymentCard.Closed, description: Sent once a Payment Card is closed.}
    - {name: PaymentCard.Frozen, description: Sent once a Payment Card is frozen.}
    - {name: PaymentCard.Unfrozen, description: Sent once a Payment Card is unfrozen.}
    - {name: PaymentCard.Replaced, description: Sent once a Payment Card is replaced.}
    - {name: PaymentCard.Lost, description: Sent once a Payment Card is marked as lost.}
    - {name: PaymentCard.Stolen, description: Sent once a Payment Card is marked as stolen.}
    - {name: PaymentCard.PinReset, description: Sent once a Payment Card's PIN has been reset.}
  payment_card_transaction:
    - {name: PaymentCard.Transaction.Auth, description: Sent once a Payment Card Transaction is authorized.}
    - {name: PaymentCard.Transaction.AuthExpired, description: Sent if a Payment Card Transaction's authorization expires.}
    - {name: PaymentCard.Transaction.Settlement, description: Sent once a Payment Card Transaction has settled.}
    - {name: PaymentCard.Transaction.Archived, description: Sent once a Payment Card Transaction is Archived.}
    - {name: PaymentCard.Transaction.Adjustment, description: Sent once a Payment Card Transaction data has been adjusted.}
    - {name: PaymentCard.atm.load, description: Sent once funds have been loaded via an ATM deposit.}