Skip to content
Get started

Funding Events

Funding events represent all money movement between Straddle and an Account's external bank accounts. They are automatically generated when charges settle or payouts are initiated. Each event provides detailed tracking of settlement status, fee breakdowns, and reconciliation data across both incoming and outgoing transfers. Use funding events to monitor your platform's entire money movement lifecycle.

List funding events
funding_events.list(**kwargs) -> PageNumberSchema<{ id, amount, created_at, 10 more}>
GET/v1/funding_events
Lookup a funding event
funding_events.get(id, **kwargs) -> FundingEventSummaryItemV1 { data, meta, response_type }
GET/v1/funding_events/{id}
ModelsExpand Collapse
class FundingEventSummaryItemV1 { data, meta, response_type }
data: { id, amount, created_at, 10 more}
id: String

Unique identifier for the funding event.

formatuuid
amount: Integer

The amount of the funding event in cents.

formatint32
created_at: Time

Created at.

formatdate-time
direction: :deposit | :withdrawal

Describes the direction of the funding event from the perspective of the linked_bank_account.

One of the following:
:deposit
:withdrawal
event_type: :charge_deposit | :charge_reversal | :payout_return | :payout_withdrawal

The funding event types describes the direction and reason for the funding event.

One of the following:
:charge_deposit
:charge_reversal
:payout_return
:payout_withdrawal
payment_count: Integer

The number of payments associated with the funding event.

formatint32
trace_ids: Hash[Symbol, String]

Trace Ids.

trace_numbers: Array[String]

Trace number.

transfer_date: Date

The date on which the funding event occurred. For deposits and returns, this is the date the funds were credited to your bank account. For withdrawals and reversals, this is the date the funds were debited from your bank account.

formatdate
updated_at: Time

Updated at.

formatdate-time
status: :created | :scheduled | :failed | 6 more

The current status of the charge or payout.

One of the following:
:created
:scheduled
:failed
:cancelled
:on_hold
:pending
:paid
:reversed
:validating
status_details: { changed_at, message, reason, 2 more}
changed_at: Time

The time the status change occurred.

formatdate-time
message: String

A human-readable description of the current status.

reason: :insufficient_funds | :closed_bank_account | :invalid_bank_account | 24 more
One of the following:
: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
:cancel_request
:failed_verification
:require_review
:blocked_by_system
:watchtower_review
:validating
:auto_hold
source: :watchtower | :bank_decline | :customer_dispute | 2 more
One of the following:
:watchtower
:bank_decline
:customer_dispute
:user_action
:system
code: String

The status code if applicable.

trace_number: String

The trace number of the funding event.

meta: ResponseMetadata { api_request_id, api_request_timestamp }

Metadata about the API request, including an identifier and timestamp.

api_request_id: String

Unique identifier for this API request, useful for troubleshooting.

formatuuid
api_request_timestamp: Time

Timestamp for this API request, useful for troubleshooting.

formatdate-time
response_type: :object | :array | :error | :none

Indicates the structure of the returned content.

  • "object" means the data field contains a single JSON object.
  • "array" means the data field contains an array of objects.
  • "error" means the data field contains an error object with details of the issue.
  • "none" means no data is returned.
One of the following:
:object
:array
:error
:none
class FundingEventSummaryPagedV1 { data, meta, response_type }
data: Array[{ id, amount, created_at, 10 more}]
id: String

Unique identifier for the funding event.

formatuuid
amount: Integer

The amount of the funding event in cents.

formatint32
created_at: Time

Created at.

formatdate-time
direction: :deposit | :withdrawal

Describes the direction of the funding event from the perspective of the linked_bank_account.

One of the following:
:deposit
:withdrawal
event_type: :charge_deposit | :charge_reversal | :payout_return | :payout_withdrawal

The funding event types describes the direction and reason for the funding event.

One of the following:
:charge_deposit
:charge_reversal
:payout_return
:payout_withdrawal
payment_count: Integer

The number of payments associated with the funding event.

formatint32
trace_ids: Hash[Symbol, String]

Trace Ids.

trace_numbers: Array[String]

Trace number.

transfer_date: Date

The date on which the funding event occurred. For deposits and returns, this is the date the funds were credited to your bank account. For withdrawals and reversals, this is the date the funds were debited from your bank account.

formatdate
updated_at: Time

Updated at.

formatdate-time
status: :created | :scheduled | :failed | 6 more

The current status of the charge or payout.

One of the following:
:created
:scheduled
:failed
:cancelled
:on_hold
:pending
:paid
:reversed
:validating
status_details: { changed_at, message, reason, 2 more}
changed_at: Time

The time the status change occurred.

formatdate-time
message: String

A human-readable description of the current status.

reason: :insufficient_funds | :closed_bank_account | :invalid_bank_account | 24 more
One of the following:
: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
:cancel_request
:failed_verification
:require_review
:blocked_by_system
:watchtower_review
:validating
:auto_hold
source: :watchtower | :bank_decline | :customer_dispute | 2 more
One of the following:
:watchtower
:bank_decline
:customer_dispute
:user_action
:system
code: String

The status code if applicable.

trace_number: String

The trace number of the funding event.

meta: { api_request_id, api_request_timestamp, max_page_size, 6 more}
api_request_id: String

Unique identifier for this API request, useful for troubleshooting.

formatuuid
api_request_timestamp: Time

Timestamp for this API request, useful for troubleshooting.

formatdate-time
max_page_size: Integer

Maximum allowed page size for this endpoint.

formatint32
page_number: Integer

Page number for paginated results.

formatint32
page_size: Integer

Number of items per page in this response.

formatint32
sort_by: String

The field that the results were sorted by.

sort_order: :asc | :desc
One of the following:
:asc
:desc
total_items: Integer
total_pages: Integer

The number of pages available.

formatint32
response_type: :object | :array | :error | :none

Indicates the structure of the returned content.

  • "object" means the data field contains a single JSON object.
  • "array" means the data field contains an array of objects.
  • "error" means the data field contains an error object with details of the issue.
  • "none" means no data is returned.
One of the following:
:object
:array
:error
:none