---
title: "Webhook event: funding_event.created.v1"
method: POST
path: "funding_event.created.v1"
---

# Webhook event: funding_event.created.v1

`POST funding_event.created.v1` (webhook)

Fired when a new funding event has been initiated to transfer funds to or from your bank account. The event includes funding events amount and initial processing status.

## Payload

- object
  - `event_type` string, required — Type of the event
  - `event_id` string, uuid, required — UUID of the event
  - `account_id` string, uuid, required — UUID of the account associated with this event
  - `data` FundingEventEventV1, required
    - `id` string, uuid, required — Id.
    - `amount` integer, required — Amount.
    - `direction` 'deposit' | 'withdrawal', required
    - `event_type` 'charge_deposit' | 'charge_reversal' | 'payout_return' | 'payout_withdrawal', required — The funding event types describes the direction and reason for the funding event.
    - `trace_ids` object, required — Trace Ids.
    - `payment_count` integer, required — Payment count.
    - `transfer_date` string, date, required — Transfer date.
    - `created_at` string, date-time, required — Created at.
    - `updated_at` string, date-time, required — Updated at.
    - `status` 'created' | 'scheduled' | 'failed' | 'cancelled' | 'on_hold' | 'pending' | 'paid' | 'reversed'
    - `status_details` StatusDetailsEventV1
      - `message` string, required — A human-readable description of the current status.
      - `reason` 'insufficient_funds' | 'closed_bank_account' | 'invalid_bank_account' | 'invalid_routing' | 'disputed' | 'payment_stopped' | 'owner_deceased' | 'frozen_bank_account' | 'risk_review' | 'fraudulent' | 'duplicate_entry' | 'invalid_paykey' | 'payment_blocked' | 'amount_too_large' | 'too_many_attempts' | 'internal_system_error' | 'user_request' | 'ok' | 'other_network_return' | 'payout_refused' | 'validating' | 'auto_hold', required
      - `source` 'watchtower' | 'bank_decline' | 'customer_dispute' | 'user_action' | 'system', required
      - `code` string, nullable, required — The status code if applicable.
      - `changed_at` string, date-time, required — The time the status change occurred.
    - `status_history` StatusHistoryEventV1[], required — Status history.
      - `reason` 'insufficient_funds' | 'closed_bank_account' | 'invalid_bank_account' | 'invalid_routing' | 'disputed' | 'payment_stopped' | 'owner_deceased' | 'frozen_bank_account' | 'risk_review' | 'fraudulent' | 'duplicate_entry' | 'invalid_paykey' | 'payment_blocked' | 'amount_too_large' | 'too_many_attempts' | 'internal_system_error' | 'user_request' | 'ok' | 'other_network_return' | 'payout_refused' | 'validating' | 'auto_hold', required
      - `source` 'watchtower' | 'bank_decline' | 'customer_dispute' | 'user_action' | 'system', required
      - `message` string, required — A human-readable description of the status.
      - `code` string, nullable — The status code if applicable.
      - `changed_at` string, date-time, required — The time the status change occurred.
      - `status` 'created' | 'scheduled' | 'failed' | 'cancelled' | 'on_hold' | 'pending' | 'paid' | 'reversed', required

## Acknowledgement `200`

Webhook processed successfully

---

[API](https://skmtc.net/straddleio/apis/straddle-api.md) · [All operations](https://skmtc.net/straddleio/apis/straddle-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/straddleio/straddle-api/revisions/6e13cd88cda9/schema)
