Bendigo and Adelaide Bank · AsyncAPI Specification

Up Developer API Webhooks

Version v1

Real-time webhook event callbacks delivered by Up to a subscriber-configured HTTPS URL when transaction activity occurs on an Up account. Each delivery carries an X-Up-Authenticity-Signature header (SHA-256 HMAC of the raw request body signed with the webhook secretKey) for authenticity verification.

View Spec View on GitHub FinancialBanksOpen BankingCDRConsumer Data RightConsumer BankingAustraliaProduct Reference DataAsyncAPIWebhooksEvents

Channels

webhookEvents
Up POSTs a WebhookEventCallback to the configured URL for each event.

Messages

WebhookEventCallback
Webhook event callback
Asynchronous callback request used for webhook event delivery.

Servers

https
subscriber
The subscriber's own HTTPS endpoint registered via POST /webhooks. Up POSTs event callbacks to this URL. Must be a valid HTTP/HTTPS URL <= 300 characters.

AsyncAPI Specification

Raw ↑
generated: '2026-07-21'
method: derived
source: openapi/bendigo-and-adelaide-bank-up-developer-api-openapi.json
spec_type: AsyncAPI
notes: >-
  Faithful AsyncAPI 3.0 derivation of the Up Developer API webhook surface. Up (the digital
  neobank owned by Bendigo and Adelaide Bank) documents webhooks that POST signed event
  callbacks to a subscriber-configured URL when transaction activity occurs. Event types,
  the delivery signature (X-Up-Authenticity-Signature: SHA-256 HMAC of the raw body, keyed
  by the webhook secretKey) and the JSON:API payload shape are all taken verbatim from Up's
  published OpenAPI 3.0.3 spec (up-banking/api). No event data was invented; the subscription
  management operations live in the OpenAPI (POST/GET/DELETE /webhooks, /webhooks/{id}/ping,
  /webhooks/{webhookId}/logs).
asyncapi: 3.0.0
info:
  title: Up Developer API Webhooks
  version: v1
  description: >-
    Real-time webhook event callbacks delivered by Up to a subscriber-configured HTTPS URL
    when transaction activity occurs on an Up account. Each delivery carries an
    X-Up-Authenticity-Signature header (SHA-256 HMAC of the raw request body signed with the
    webhook secretKey) for authenticity verification.
  externalDocs:
    description: Up API webhooks documentation
    url: https://developer.up.com.au/#webhooks
servers:
  subscriber:
    host: your-configured-webhook-url.example.com
    protocol: https
    description: >-
      The subscriber's own HTTPS endpoint registered via POST /webhooks. Up POSTs event
      callbacks to this URL. Must be a valid HTTP/HTTPS URL <= 300 characters.
channels:
  webhookEvents:
    address: '{webhookUrl}'
    title: Webhook event delivery
    description: Up POSTs a WebhookEventCallback to the configured URL for each event.
    parameters:
      webhookUrl:
        description: The subscriber URL registered on the webhook resource.
    messages:
      webhookEvent:
        $ref: '#/components/messages/WebhookEventCallback'
operations:
  receiveWebhookEvent:
    action: receive
    channel:
      $ref: '#/channels/webhookEvents'
    summary: Receive a signed webhook event callback from Up.
    description: >-
      Verify the X-Up-Authenticity-Signature header (SHA-256 HMAC of the raw body keyed by the
      webhook secretKey) before processing. Respond 200 to acknowledge; non-200 or timeout is
      logged as BAD_RESPONSE_CODE / UNDELIVERABLE in the webhook delivery logs.
    messages:
      - $ref: '#/channels/webhookEvents/messages/webhookEvent'
components:
  messages:
    WebhookEventCallback:
      name: WebhookEventCallback
      title: Webhook event callback
      contentType: application/json
      summary: Asynchronous callback request used for webhook event delivery.
      headers:
        type: object
        properties:
          X-Up-Authenticity-Signature:
            type: string
            description: SHA-256 HMAC of the entire raw request body, signed using the webhook secretKey.
      payload:
        $ref: '#/components/schemas/WebhookEventCallback'
  schemas:
    WebhookEventCallback:
      type: object
      required: [data]
      properties:
        data:
          $ref: '#/components/schemas/WebhookEventResource'
    WebhookEventResource:
      type: object
      description: Provides the event data used in asynchronous webhook event callbacks.
      required: [type, id, attributes, relationships]
      properties:
        type:
          type: string
          description: 'The type of this resource: webhook-events'
        id:
          type: string
          description: The unique identifier for this event. Present only for non-PING events.
        attributes:
          type: object
          properties:
            eventType:
              $ref: '#/components/schemas/WebhookEventTypeEnum'
            createdAt:
              type: string
              format: date-time
              description: The date-time at which this event was generated.
        relationships:
          type: object
          description: >-
            Relationships to the webhook (always) and, for transaction events, the transaction
            the event relates to (via a links.related URL).
    WebhookEventTypeEnum:
      type: string
      description: >-
        Specifies the type of a webhook event, used to determine what action to take and which
        relationships to expect.
      enum:
        - TRANSACTION_CREATED
        - TRANSACTION_SETTLED
        - TRANSACTION_DELETED
        - PING