{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "#/components/schemas/pending_transaction_data",
"title": "Pending transaction data",
"properties": {
"amount": {
"description": "The amount of the hold.",
"format": "int64",
"minimum": 0,
"type": "integer"
},
"auto_post_at": {
"description": "The account \"available balance\" at the time this hold was created",
"format": "date-time",
"type": "string"
},
"avail_balance": {
"description": "The account \"available balance\" at the time this hold was created (to be deprecated)",
"format": "int64",
"type": "integer"
},
"available_balance": {
"description": "The account \"available balance\" at the time this hold was created",
"format": "int64",
"type": "integer"
},
"balance": {
"description": "The account balance at the time this hold was created",
"format": "int64",
"type": "integer"
},
"currency": {
"description": "ISO 4217 alphabetic currency code of the transfer amount",
"type": "string"
},
"dc_sign": {
"$ref": "#/components/schemas/dc_sign"
},
"effective_date": {
"description": "The effective date of the transaction once it gets posted",
"format": "date-time",
"type": "string"
},
"expires_at": {
"description": "The date that at which this hold is no longer valid.",
"format": "date-time",
"type": "string"
},
"external_data": {
"$ref": "#/components/schemas/external_data"
},
"force_post": {
"description": "Whether or not the hold was forced (spending controls ignored)",
"type": "boolean"
},
"history": {
"description": "An array representing any previous states of the hold, if it has been modified (For example, increasing or decreasing the hold amount).",
"items": {
"$ref": "#/components/schemas/pending_transaction_history"
},
"type": "array"
},
"idemkey": {
"description": "The idempotency key used when initially creating this hold.",
"type": "string"
},
"memo": {
"description": "A short note to the recipient",
"type": "string"
},
"network": {
"description": "The network this transaction is associated with",
"type": "string"
},
"operation": {
"enum": [
"hold_new",
"hold_increase",
"hold_decrease",
"hold_replace",
"hold_decline",
"hold_cancel",
"hold_post"
],
"type": "string"
},
"reason": {
"description": "If a hold has been declined or modified, this will include the reason.",
"type": "string"
},
"req_amount": {
"description": "The requested amount, in the case of hold modifications.",
"format": "int64",
"minimum": 0,
"type": "integer"
},
"risk_info": {
"$ref": "#/components/schemas/risk_info"
},
"status": {
"description": "The status of the hold.",
"enum": [
"PENDING",
"REPLACED",
"DECLINED",
"RELEASED",
"PARTCLEARD",
"EXPIRED",
"CLEARED",
"INTERNAL_ERROR"
],
"type": "string"
},
"subtype": {
"description": "The specific transaction type. For example, for `ach`, this may be \"outgoing_debit\".",
"type": "string"
},
"total_amount": {
"description": "The total amount of the hold. This may be different than `amount` in the case where a hold increase or decrease was requested.",
"format": "int64",
"minimum": 0,
"type": "integer"
},
"transaction_id": {
"description": "The uuid of the transaction that this pending transaction originated from, if any. This is primary used when a transaction \"posts\", but a subset of the amount reserved until a future settlement date.",
"format": "uuid",
"type": "string"
},
"transaction_time": {
"description": "The time that the transaction was created",
"format": "date-time",
"type": "string"
},
"type": {
"description": "The general type of transaction. For example, \"card\" or \"ach\".",
"type": "string"
},
"user_data": {
"$ref": "#/components/schemas/user_data"
},
"was_partial": {
"description": "Does this hold represent a partial debit (or credit)?",
"type": "boolean"
}
},
"required": [
"memo",
"type",
"subtype",
"operation",
"idemkey",
"expires_at",
"effective_date",
"total_amount",
"amount",
"req_amount",
"dc_sign",
"currency",
"network",
"was_partial",
"force_post",
"status",
"reason",
"balance",
"avail_balance",
"available_balance",
"auto_post_at",
"risk_info",
"user_data",
"external_data",
"history",
"transaction_time"
],
"type": "object"
}