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
$ straddle funding-events list
GET/v1/funding_events
Lookup a funding event
$ straddle funding-events get
GET/v1/funding_events/{id}
ModelsExpand Collapse
fundingEventSummaryItemV1: object { data, meta, response_type }
data: object { id, amount, created_at, 10 more }
id: string

Unique identifier for the funding event.

amount: number

The amount of the funding event in cents.

created_at: string

Created at.

direction: "deposit" or "withdrawal"

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

"deposit"
"withdrawal"
event_type: "charge_deposit" or "charge_reversal" or "payout_return" or "payout_withdrawal"

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

"charge_deposit"
"charge_reversal"
"payout_return"
"payout_withdrawal"
payment_count: number

The number of payments associated with the funding event.

trace_ids: map[string]

Trace Ids.

trace_numbers: array of string

Trace number.

transfer_date: string

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.

updated_at: string

Updated at.

status: optional "created" or "scheduled" or "failed" or 6 more

The current status of the charge or payout.

"created"
"scheduled"
"failed"
"cancelled"
"on_hold"
"pending"
"paid"
"reversed"
"validating"
status_details: optional object { changed_at, message, reason, 2 more }
changed_at: string

The time the status change occurred.

message: string

A human-readable description of the current status.

reason: "insufficient_funds" or "closed_bank_account" or "invalid_bank_account" or 24 more
"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" or "bank_decline" or "customer_dispute" or 2 more
"watchtower"
"bank_decline"
"customer_dispute"
"user_action"
"system"
code: optional string

The status code if applicable.

trace_number: optional string

The trace number of the funding event.

meta: object { 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.

api_request_timestamp: string

Timestamp for this API request, useful for troubleshooting.

response_type: "object" or "array" or "error" or "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.
"object"
"array"
"error"
"none"
fundingEventSummaryPagedV1: object { data, meta, response_type }
data: array of object { id, amount, created_at, 10 more }
id: string

Unique identifier for the funding event.

amount: number

The amount of the funding event in cents.

created_at: string

Created at.

direction: "deposit" or "withdrawal"

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

"deposit"
"withdrawal"
event_type: "charge_deposit" or "charge_reversal" or "payout_return" or "payout_withdrawal"

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

"charge_deposit"
"charge_reversal"
"payout_return"
"payout_withdrawal"
payment_count: number

The number of payments associated with the funding event.

trace_ids: map[string]

Trace Ids.

trace_numbers: array of string

Trace number.

transfer_date: string

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.

updated_at: string

Updated at.

status: optional "created" or "scheduled" or "failed" or 6 more

The current status of the charge or payout.

"created"
"scheduled"
"failed"
"cancelled"
"on_hold"
"pending"
"paid"
"reversed"
"validating"
status_details: optional object { changed_at, message, reason, 2 more }
changed_at: string

The time the status change occurred.

message: string

A human-readable description of the current status.

reason: "insufficient_funds" or "closed_bank_account" or "invalid_bank_account" or 24 more
"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" or "bank_decline" or "customer_dispute" or 2 more
"watchtower"
"bank_decline"
"customer_dispute"
"user_action"
"system"
code: optional string

The status code if applicable.

trace_number: optional string

The trace number of the funding event.

meta: object { api_request_id, api_request_timestamp, max_page_size, 6 more }
api_request_id: string

Unique identifier for this API request, useful for troubleshooting.

api_request_timestamp: string

Timestamp for this API request, useful for troubleshooting.

max_page_size: number

Maximum allowed page size for this endpoint.

page_number: number

Page number for paginated results.

page_size: number

Number of items per page in this response.

sort_by: string

The field that the results were sorted by.

sort_order: "asc" or "desc"
"asc"
"desc"
total_items: number
total_pages: number

The number of pages available.

response_type: "object" or "array" or "error" or "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.
"object"
"array"
"error"
"none"