@augustusbank/typescript-sdk 0.21.0 → 0.22.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (196) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/client.d.mts +6 -0
  3. package/client.d.mts.map +1 -1
  4. package/client.d.ts +6 -0
  5. package/client.d.ts.map +1 -1
  6. package/client.js +6 -0
  7. package/client.js.map +1 -1
  8. package/client.mjs +6 -0
  9. package/client.mjs.map +1 -1
  10. package/package.json +1 -1
  11. package/resources/account-holders.d.mts +1555 -1184
  12. package/resources/account-holders.d.mts.map +1 -1
  13. package/resources/account-holders.d.ts +1555 -1184
  14. package/resources/account-holders.d.ts.map +1 -1
  15. package/resources/account-holders.js +59 -0
  16. package/resources/account-holders.js.map +1 -1
  17. package/resources/account-holders.mjs +59 -0
  18. package/resources/account-holders.mjs.map +1 -1
  19. package/resources/account-programs.d.mts +2 -2
  20. package/resources/account-programs.d.ts +2 -2
  21. package/resources/accounts.d.mts +206 -43
  22. package/resources/accounts.d.mts.map +1 -1
  23. package/resources/accounts.d.ts +206 -43
  24. package/resources/accounts.d.ts.map +1 -1
  25. package/resources/accounts.js +53 -0
  26. package/resources/accounts.js.map +1 -1
  27. package/resources/accounts.mjs +53 -0
  28. package/resources/accounts.mjs.map +1 -1
  29. package/resources/api-keys.d.mts +1 -1
  30. package/resources/api-keys.d.mts.map +1 -1
  31. package/resources/api-keys.d.ts +1 -1
  32. package/resources/api-keys.d.ts.map +1 -1
  33. package/resources/api-versions.d.mts +3 -0
  34. package/resources/api-versions.d.mts.map +1 -1
  35. package/resources/api-versions.d.ts +3 -0
  36. package/resources/api-versions.d.ts.map +1 -1
  37. package/resources/conversions.d.mts +36 -81
  38. package/resources/conversions.d.mts.map +1 -1
  39. package/resources/conversions.d.ts +36 -81
  40. package/resources/conversions.d.ts.map +1 -1
  41. package/resources/conversions.js +25 -1
  42. package/resources/conversions.js.map +1 -1
  43. package/resources/conversions.mjs +25 -1
  44. package/resources/conversions.mjs.map +1 -1
  45. package/resources/counterparties.d.mts +1042 -0
  46. package/resources/counterparties.d.mts.map +1 -0
  47. package/resources/counterparties.d.ts +1042 -0
  48. package/resources/counterparties.d.ts.map +1 -0
  49. package/resources/counterparties.js +45 -0
  50. package/resources/counterparties.js.map +1 -0
  51. package/resources/counterparties.mjs +41 -0
  52. package/resources/counterparties.mjs.map +1 -0
  53. package/resources/deposits.d.mts +38 -186
  54. package/resources/deposits.d.mts.map +1 -1
  55. package/resources/deposits.d.ts +38 -186
  56. package/resources/deposits.d.ts.map +1 -1
  57. package/resources/index.d.mts +2 -0
  58. package/resources/index.d.mts.map +1 -1
  59. package/resources/index.d.ts +2 -0
  60. package/resources/index.d.ts.map +1 -1
  61. package/resources/index.js +5 -1
  62. package/resources/index.js.map +1 -1
  63. package/resources/index.mjs +2 -0
  64. package/resources/index.mjs.map +1 -1
  65. package/resources/payouts.d.mts +458 -276
  66. package/resources/payouts.d.mts.map +1 -1
  67. package/resources/payouts.d.ts +458 -276
  68. package/resources/payouts.d.ts.map +1 -1
  69. package/resources/payouts.js +27 -0
  70. package/resources/payouts.js.map +1 -1
  71. package/resources/payouts.mjs +27 -0
  72. package/resources/payouts.mjs.map +1 -1
  73. package/resources/quotes/indicative.d.mts +7 -11
  74. package/resources/quotes/indicative.d.mts.map +1 -1
  75. package/resources/quotes/indicative.d.ts +7 -11
  76. package/resources/quotes/indicative.d.ts.map +1 -1
  77. package/resources/quotes/quotes.d.mts +4 -8
  78. package/resources/quotes/quotes.d.mts.map +1 -1
  79. package/resources/quotes/quotes.d.ts +4 -8
  80. package/resources/quotes/quotes.d.ts.map +1 -1
  81. package/resources/quotes/quotes.js.map +1 -1
  82. package/resources/quotes/quotes.mjs.map +1 -1
  83. package/resources/returns.d.mts +84 -39
  84. package/resources/returns.d.mts.map +1 -1
  85. package/resources/returns.d.ts +84 -39
  86. package/resources/returns.d.ts.map +1 -1
  87. package/resources/returns.js +22 -0
  88. package/resources/returns.js.map +1 -1
  89. package/resources/returns.mjs +22 -0
  90. package/resources/returns.mjs.map +1 -1
  91. package/resources/scopes.d.mts +4 -1
  92. package/resources/scopes.d.mts.map +1 -1
  93. package/resources/scopes.d.ts +4 -1
  94. package/resources/scopes.d.ts.map +1 -1
  95. package/resources/simulations/account-programs.d.mts +281 -0
  96. package/resources/simulations/account-programs.d.mts.map +1 -0
  97. package/resources/simulations/account-programs.d.ts +281 -0
  98. package/resources/simulations/account-programs.d.ts.map +1 -0
  99. package/resources/simulations/account-programs.js +98 -0
  100. package/resources/simulations/account-programs.js.map +1 -0
  101. package/resources/simulations/account-programs.mjs +94 -0
  102. package/resources/simulations/account-programs.mjs.map +1 -0
  103. package/resources/simulations/accounts.d.mts +270 -0
  104. package/resources/simulations/accounts.d.mts.map +1 -0
  105. package/resources/simulations/accounts.d.ts +270 -0
  106. package/resources/simulations/accounts.d.ts.map +1 -0
  107. package/resources/simulations/accounts.js +91 -0
  108. package/resources/simulations/accounts.js.map +1 -0
  109. package/resources/simulations/accounts.mjs +87 -0
  110. package/resources/simulations/accounts.mjs.map +1 -0
  111. package/resources/simulations/deposits.d.mts +218 -0
  112. package/resources/simulations/deposits.d.mts.map +1 -0
  113. package/resources/simulations/deposits.d.ts +218 -0
  114. package/resources/simulations/deposits.d.ts.map +1 -0
  115. package/resources/simulations/deposits.js +25 -0
  116. package/resources/simulations/deposits.js.map +1 -0
  117. package/resources/simulations/deposits.mjs +21 -0
  118. package/resources/simulations/deposits.mjs.map +1 -0
  119. package/resources/simulations/index.d.mts +6 -0
  120. package/resources/simulations/index.d.mts.map +1 -0
  121. package/resources/simulations/index.d.ts +6 -0
  122. package/resources/simulations/index.d.ts.map +1 -0
  123. package/resources/simulations/index.js +15 -0
  124. package/resources/simulations/index.js.map +1 -0
  125. package/resources/simulations/index.mjs +7 -0
  126. package/resources/simulations/index.mjs.map +1 -0
  127. package/resources/simulations/payouts.d.mts +76 -0
  128. package/resources/simulations/payouts.d.mts.map +1 -0
  129. package/resources/simulations/payouts.d.ts +76 -0
  130. package/resources/simulations/payouts.d.ts.map +1 -0
  131. package/resources/simulations/payouts.js +39 -0
  132. package/resources/simulations/payouts.js.map +1 -0
  133. package/resources/simulations/payouts.mjs +35 -0
  134. package/resources/simulations/payouts.mjs.map +1 -0
  135. package/resources/simulations/simulations.d.mts +22 -0
  136. package/resources/simulations/simulations.d.mts.map +1 -0
  137. package/resources/simulations/simulations.d.ts +22 -0
  138. package/resources/simulations/simulations.d.ts.map +1 -0
  139. package/resources/simulations/simulations.js +29 -0
  140. package/resources/simulations/simulations.js.map +1 -0
  141. package/resources/simulations/simulations.mjs +24 -0
  142. package/resources/simulations/simulations.mjs.map +1 -0
  143. package/resources/simulations.d.mts +2 -0
  144. package/resources/simulations.d.mts.map +1 -0
  145. package/resources/simulations.d.ts +2 -0
  146. package/resources/simulations.d.ts.map +1 -0
  147. package/resources/simulations.js +6 -0
  148. package/resources/simulations.js.map +1 -0
  149. package/resources/simulations.mjs +3 -0
  150. package/resources/simulations.mjs.map +1 -0
  151. package/resources/transactions.d.mts +300 -180
  152. package/resources/transactions.d.mts.map +1 -1
  153. package/resources/transactions.d.ts +300 -180
  154. package/resources/transactions.d.ts.map +1 -1
  155. package/resources/webhook-subscriptions.d.mts +54 -4
  156. package/resources/webhook-subscriptions.d.mts.map +1 -1
  157. package/resources/webhook-subscriptions.d.ts +54 -4
  158. package/resources/webhook-subscriptions.d.ts.map +1 -1
  159. package/resources/webhook-subscriptions.js +49 -0
  160. package/resources/webhook-subscriptions.js.map +1 -1
  161. package/resources/webhook-subscriptions.mjs +49 -0
  162. package/resources/webhook-subscriptions.mjs.map +1 -1
  163. package/resources/webhooks.d.mts +736 -953
  164. package/resources/webhooks.d.mts.map +1 -1
  165. package/resources/webhooks.d.ts +736 -953
  166. package/resources/webhooks.d.ts.map +1 -1
  167. package/src/client.ts +32 -0
  168. package/src/resources/account-holders.ts +1701 -1282
  169. package/src/resources/account-programs.ts +2 -2
  170. package/src/resources/accounts.ts +236 -44
  171. package/src/resources/api-keys.ts +3 -0
  172. package/src/resources/api-versions.ts +3 -0
  173. package/src/resources/conversions.ts +36 -93
  174. package/src/resources/counterparties.ts +3127 -0
  175. package/src/resources/deposits.ts +54 -269
  176. package/src/resources/index.ts +13 -0
  177. package/src/resources/payouts.ts +2089 -367
  178. package/src/resources/quotes/indicative.ts +7 -12
  179. package/src/resources/quotes/quotes.ts +4 -9
  180. package/src/resources/returns.ts +144 -40
  181. package/src/resources/scopes.ts +7 -1
  182. package/src/resources/simulations/account-programs.ts +363 -0
  183. package/src/resources/simulations/accounts.ts +340 -0
  184. package/src/resources/simulations/deposits.ts +530 -0
  185. package/src/resources/simulations/index.ts +32 -0
  186. package/src/resources/simulations/payouts.ts +98 -0
  187. package/src/resources/simulations/simulations.ts +82 -0
  188. package/src/resources/simulations.ts +3 -0
  189. package/src/resources/transactions.ts +910 -232
  190. package/src/resources/webhook-subscriptions.ts +54 -4
  191. package/src/resources/webhooks.ts +948 -1142
  192. package/src/version.ts +1 -1
  193. package/version.d.mts +1 -1
  194. package/version.d.ts +1 -1
  195. package/version.js +1 -1
  196. package/version.mjs +1 -1
@@ -5,14 +5,41 @@ import { RequestOptions } from "../internal/request-options.mjs";
5
5
  export declare class Payouts extends APIResource {
6
6
  /**
7
7
  * Creates a new payout.
8
+ *
9
+ * @example
10
+ * ```ts
11
+ * const payout = await client.payouts.create({
12
+ * account_id: '550e8400-e29b-41d4-a716-44665544000b',
13
+ * amount: '100.50',
14
+ * destination: {
15
+ * counterparty_id: '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',
16
+ * type: 'counterparty',
17
+ * },
18
+ * });
19
+ * ```
8
20
  */
9
21
  create(body: PayoutCreateParams, options?: RequestOptions): APIPromise<PayoutCreateResponse>;
10
22
  /**
11
23
  * Retrieves a payout by ID.
24
+ *
25
+ * @example
26
+ * ```ts
27
+ * const payout = await client.payouts.retrieve(
28
+ * '550e8400-e29b-41d4-a716-446655440003',
29
+ * );
30
+ * ```
12
31
  */
13
32
  retrieve(id: string, options?: RequestOptions): APIPromise<PayoutRetrieveResponse>;
14
33
  /**
15
34
  * Lists payouts for the merchant with cursor-based pagination.
35
+ *
36
+ * @example
37
+ * ```ts
38
+ * // Automatically fetches more pages as needed.
39
+ * for await (const payoutListResponse of client.payouts.list()) {
40
+ * // ...
41
+ * }
42
+ * ```
16
43
  */
17
44
  list(query?: PayoutListParams | null | undefined, options?: RequestOptions): PagePromise<PayoutListResponsesCursorPage, PayoutListResponse>;
18
45
  }
@@ -22,26 +49,30 @@ export interface PayoutCreateResponse {
22
49
  * Unique identifier of the payout.
23
50
  */
24
51
  id: string;
52
+ /**
53
+ * ID of the account that was debited.
54
+ */
55
+ account_id: string;
25
56
  /**
26
57
  * Amount as a string decimal (e.g. "100.50").
27
58
  */
28
59
  amount: string;
29
60
  /**
30
- * ISO 8601 UTC timestamp when the payout was created.
61
+ * ID of the counterparty that receives the money.
31
62
  */
32
- created_at: string;
63
+ counterparty_id: string;
33
64
  /**
34
- * Currency code (ISO 4217 currency code or crypto currency code).
65
+ * Currency code (ISO 4217 or crypto).
35
66
  */
36
67
  currency: 'EUR' | 'GBP' | 'USD' | 'USDC';
37
- /**
38
- * Bank account or crypto wallet the payout was sent to.
39
- */
40
- destination: PayoutCreateResponse.IbanFinancialAddress | PayoutCreateResponse.SortCodeFinancialAddress | PayoutCreateResponse.AbaFinancialAddress | PayoutCreateResponse.CryptoWalletFinancialAddress;
41
68
  /**
42
69
  * Failure details when status is failed, otherwise null.
43
70
  */
44
71
  failure: PayoutCreateResponse.Failure | null;
72
+ /**
73
+ * ISO 8601 UTC timestamp when the payout was initiated.
74
+ */
75
+ initiated_at: string;
45
76
  /**
46
77
  * Key-value pairs stored with the payout.
47
78
  */
@@ -49,95 +80,37 @@ export interface PayoutCreateResponse {
49
80
  [key: string]: string;
50
81
  };
51
82
  /**
52
- * Payment reference.
83
+ * Payment scheme or blockchain used for the payout, or null when unknown.
53
84
  */
54
- reference: string;
85
+ rail: 'sepa' | 'sepa_instant' | 'faster_payments' | 'swift' | 'internal' | 'target' | 'ach' | 'fedwire' | 'bitcoin' | 'bitcoin_testnet4' | 'ethereum' | 'ethereum_sepolia' | 'solana' | 'solana_devnet' | 'polygon' | 'polygon_amoy' | null;
55
86
  /**
56
- * ID of the account that was debited.
87
+ * ISO 8601 UTC timestamp when the payout was sent.
57
88
  */
58
- source_account_id: string;
89
+ sent_at: string | null;
59
90
  /**
60
91
  * Current status of the payout.
61
92
  */
62
- status: 'pending' | 'paid' | 'failed' | 'returned';
93
+ status: 'initiated' | 'submitted' | 'sent' | 'failed' | 'returned';
94
+ /**
95
+ * Identifier used to track the payout through the payment network where supported.
96
+ */
97
+ tracking_id: string | null;
98
+ /**
99
+ * Transaction hash for crypto payouts, or null when not known. Only blockchain
100
+ * rails support this field.
101
+ */
102
+ tx_hash: string | null;
63
103
  /**
64
104
  * Resource type discriminator.
65
105
  */
66
106
  type: 'payout';
67
107
  /**
68
- * ISO 8601 UTC timestamp when the payout was last updated.
108
+ * Unstructured remittance information attached to the transfer. Not all rails
109
+ * support this field.
69
110
  */
70
- updated_at: string;
111
+ unstructured_remittance_information: string | null;
71
112
  }
72
113
  export declare namespace PayoutCreateResponse {
73
- interface IbanFinancialAddress {
74
- /**
75
- * Name of the account holder.
76
- */
77
- account_holder_name: string;
78
- /**
79
- * Bank Identifier Code, or null if not provided.
80
- */
81
- bic: string | null;
82
- /**
83
- * International Bank Account Number.
84
- */
85
- iban: string;
86
- /**
87
- * Discriminator for IBAN financial address.
88
- */
89
- type: 'iban';
90
- }
91
- interface SortCodeFinancialAddress {
92
- /**
93
- * Name of the account holder.
94
- */
95
- account_holder_name: string;
96
- /**
97
- * UK account number (8 digits).
98
- */
99
- account_number: string;
100
- /**
101
- * UK sort code (6 digits).
102
- */
103
- sort_code: string;
104
- /**
105
- * Discriminator for UK sort code financial address.
106
- */
107
- type: 'sort_code';
108
- }
109
- interface AbaFinancialAddress {
110
- /**
111
- * Name of the account holder.
112
- */
113
- account_holder_name: string;
114
- /**
115
- * Bank account number.
116
- */
117
- account_number: string;
118
- /**
119
- * ABA routing number (9 digits).
120
- */
121
- routing_number: string;
122
- /**
123
- * Discriminator for ABA wire financial address.
124
- */
125
- type: 'aba';
126
- }
127
- interface CryptoWalletFinancialAddress {
128
- /**
129
- * Wallet address on the specified blockchain.
130
- */
131
- address: string;
132
- /**
133
- * Blockchain network for the crypto wallet.
134
- */
135
- blockchain: 'bitcoin' | 'ethereum' | 'solana' | 'polygon' | 'bitcoin_testnet4' | 'ethereum_sepolia' | 'solana_devnet' | 'polygon_amoy';
136
- /**
137
- * Discriminator for crypto wallet financial address.
138
- */
139
- type: 'crypto_wallet';
140
- }
141
114
  /**
142
115
  * Failure details when status is failed, otherwise null.
143
116
  */
@@ -145,7 +118,7 @@ export declare namespace PayoutCreateResponse {
145
118
  /**
146
119
  * Failure code.
147
120
  */
148
- code: 'account_closed' | 'account_blocked' | 'insufficient_funds' | 'invalid_account_format' | 'invalid_instruction' | 'invalid_amount' | 'invalid_time' | 'duplicate_transaction' | 'payee_verification_failed' | 'system_error' | 'provider_system_error' | 'rejected_by_correspondent_bank' | 'blocked_by_review' | 'unknown';
121
+ code: 'account_closed' | 'account_blocked' | 'insufficient_funds' | 'invalid_account_format' | 'invalid_routing_number' | 'invalid_instruction' | 'invalid_amount' | 'invalid_time' | 'duplicate_transaction' | 'payee_verification_failed' | 'system_error' | 'provider_system_error' | 'rejected_by_correspondent_bank' | 'blocked_by_review' | 'unknown';
149
122
  /**
150
123
  * Human-readable description of the failure.
151
124
  */
@@ -161,26 +134,30 @@ export interface PayoutRetrieveResponse {
161
134
  * Unique identifier of the payout.
162
135
  */
163
136
  id: string;
137
+ /**
138
+ * ID of the account that was debited.
139
+ */
140
+ account_id: string;
164
141
  /**
165
142
  * Amount as a string decimal (e.g. "100.50").
166
143
  */
167
144
  amount: string;
168
145
  /**
169
- * ISO 8601 UTC timestamp when the payout was created.
146
+ * ID of the counterparty that receives the money.
170
147
  */
171
- created_at: string;
148
+ counterparty_id: string;
172
149
  /**
173
- * Currency code (ISO 4217 currency code or crypto currency code).
150
+ * Currency code (ISO 4217 or crypto).
174
151
  */
175
152
  currency: 'EUR' | 'GBP' | 'USD' | 'USDC';
176
- /**
177
- * Bank account or crypto wallet the payout was sent to.
178
- */
179
- destination: PayoutRetrieveResponse.IbanFinancialAddress | PayoutRetrieveResponse.SortCodeFinancialAddress | PayoutRetrieveResponse.AbaFinancialAddress | PayoutRetrieveResponse.CryptoWalletFinancialAddress;
180
153
  /**
181
154
  * Failure details when status is failed, otherwise null.
182
155
  */
183
156
  failure: PayoutRetrieveResponse.Failure | null;
157
+ /**
158
+ * ISO 8601 UTC timestamp when the payout was initiated.
159
+ */
160
+ initiated_at: string;
184
161
  /**
185
162
  * Key-value pairs stored with the payout.
186
163
  */
@@ -188,95 +165,37 @@ export interface PayoutRetrieveResponse {
188
165
  [key: string]: string;
189
166
  };
190
167
  /**
191
- * Payment reference.
168
+ * Payment scheme or blockchain used for the payout, or null when unknown.
192
169
  */
193
- reference: string;
170
+ rail: 'sepa' | 'sepa_instant' | 'faster_payments' | 'swift' | 'internal' | 'target' | 'ach' | 'fedwire' | 'bitcoin' | 'bitcoin_testnet4' | 'ethereum' | 'ethereum_sepolia' | 'solana' | 'solana_devnet' | 'polygon' | 'polygon_amoy' | null;
194
171
  /**
195
- * ID of the account that was debited.
172
+ * ISO 8601 UTC timestamp when the payout was sent.
196
173
  */
197
- source_account_id: string;
174
+ sent_at: string | null;
198
175
  /**
199
176
  * Current status of the payout.
200
177
  */
201
- status: 'pending' | 'paid' | 'failed' | 'returned';
178
+ status: 'initiated' | 'submitted' | 'sent' | 'failed' | 'returned';
179
+ /**
180
+ * Identifier used to track the payout through the payment network where supported.
181
+ */
182
+ tracking_id: string | null;
183
+ /**
184
+ * Transaction hash for crypto payouts, or null when not known. Only blockchain
185
+ * rails support this field.
186
+ */
187
+ tx_hash: string | null;
202
188
  /**
203
189
  * Resource type discriminator.
204
190
  */
205
191
  type: 'payout';
206
192
  /**
207
- * ISO 8601 UTC timestamp when the payout was last updated.
193
+ * Unstructured remittance information attached to the transfer. Not all rails
194
+ * support this field.
208
195
  */
209
- updated_at: string;
196
+ unstructured_remittance_information: string | null;
210
197
  }
211
198
  export declare namespace PayoutRetrieveResponse {
212
- interface IbanFinancialAddress {
213
- /**
214
- * Name of the account holder.
215
- */
216
- account_holder_name: string;
217
- /**
218
- * Bank Identifier Code, or null if not provided.
219
- */
220
- bic: string | null;
221
- /**
222
- * International Bank Account Number.
223
- */
224
- iban: string;
225
- /**
226
- * Discriminator for IBAN financial address.
227
- */
228
- type: 'iban';
229
- }
230
- interface SortCodeFinancialAddress {
231
- /**
232
- * Name of the account holder.
233
- */
234
- account_holder_name: string;
235
- /**
236
- * UK account number (8 digits).
237
- */
238
- account_number: string;
239
- /**
240
- * UK sort code (6 digits).
241
- */
242
- sort_code: string;
243
- /**
244
- * Discriminator for UK sort code financial address.
245
- */
246
- type: 'sort_code';
247
- }
248
- interface AbaFinancialAddress {
249
- /**
250
- * Name of the account holder.
251
- */
252
- account_holder_name: string;
253
- /**
254
- * Bank account number.
255
- */
256
- account_number: string;
257
- /**
258
- * ABA routing number (9 digits).
259
- */
260
- routing_number: string;
261
- /**
262
- * Discriminator for ABA wire financial address.
263
- */
264
- type: 'aba';
265
- }
266
- interface CryptoWalletFinancialAddress {
267
- /**
268
- * Wallet address on the specified blockchain.
269
- */
270
- address: string;
271
- /**
272
- * Blockchain network for the crypto wallet.
273
- */
274
- blockchain: 'bitcoin' | 'ethereum' | 'solana' | 'polygon' | 'bitcoin_testnet4' | 'ethereum_sepolia' | 'solana_devnet' | 'polygon_amoy';
275
- /**
276
- * Discriminator for crypto wallet financial address.
277
- */
278
- type: 'crypto_wallet';
279
- }
280
199
  /**
281
200
  * Failure details when status is failed, otherwise null.
282
201
  */
@@ -284,7 +203,7 @@ export declare namespace PayoutRetrieveResponse {
284
203
  /**
285
204
  * Failure code.
286
205
  */
287
- code: 'account_closed' | 'account_blocked' | 'insufficient_funds' | 'invalid_account_format' | 'invalid_instruction' | 'invalid_amount' | 'invalid_time' | 'duplicate_transaction' | 'payee_verification_failed' | 'system_error' | 'provider_system_error' | 'rejected_by_correspondent_bank' | 'blocked_by_review' | 'unknown';
206
+ code: 'account_closed' | 'account_blocked' | 'insufficient_funds' | 'invalid_account_format' | 'invalid_routing_number' | 'invalid_instruction' | 'invalid_amount' | 'invalid_time' | 'duplicate_transaction' | 'payee_verification_failed' | 'system_error' | 'provider_system_error' | 'rejected_by_correspondent_bank' | 'blocked_by_review' | 'unknown';
288
207
  /**
289
208
  * Human-readable description of the failure.
290
209
  */
@@ -300,26 +219,30 @@ export interface PayoutListResponse {
300
219
  * Unique identifier of the payout.
301
220
  */
302
221
  id: string;
222
+ /**
223
+ * ID of the account that was debited.
224
+ */
225
+ account_id: string;
303
226
  /**
304
227
  * Amount as a string decimal (e.g. "100.50").
305
228
  */
306
229
  amount: string;
307
230
  /**
308
- * ISO 8601 UTC timestamp when the payout was created.
231
+ * ID of the counterparty that receives the money.
309
232
  */
310
- created_at: string;
233
+ counterparty_id: string;
311
234
  /**
312
- * Currency code (ISO 4217 currency code or crypto currency code).
235
+ * Currency code (ISO 4217 or crypto).
313
236
  */
314
237
  currency: 'EUR' | 'GBP' | 'USD' | 'USDC';
315
- /**
316
- * Bank account or crypto wallet the payout was sent to.
317
- */
318
- destination: PayoutListResponse.IbanFinancialAddress | PayoutListResponse.SortCodeFinancialAddress | PayoutListResponse.AbaFinancialAddress | PayoutListResponse.CryptoWalletFinancialAddress;
319
238
  /**
320
239
  * Failure details when status is failed, otherwise null.
321
240
  */
322
241
  failure: PayoutListResponse.Failure | null;
242
+ /**
243
+ * ISO 8601 UTC timestamp when the payout was initiated.
244
+ */
245
+ initiated_at: string;
323
246
  /**
324
247
  * Key-value pairs stored with the payout.
325
248
  */
@@ -327,95 +250,37 @@ export interface PayoutListResponse {
327
250
  [key: string]: string;
328
251
  };
329
252
  /**
330
- * Payment reference.
253
+ * Payment scheme or blockchain used for the payout, or null when unknown.
331
254
  */
332
- reference: string;
255
+ rail: 'sepa' | 'sepa_instant' | 'faster_payments' | 'swift' | 'internal' | 'target' | 'ach' | 'fedwire' | 'bitcoin' | 'bitcoin_testnet4' | 'ethereum' | 'ethereum_sepolia' | 'solana' | 'solana_devnet' | 'polygon' | 'polygon_amoy' | null;
333
256
  /**
334
- * ID of the account that was debited.
257
+ * ISO 8601 UTC timestamp when the payout was sent.
335
258
  */
336
- source_account_id: string;
259
+ sent_at: string | null;
337
260
  /**
338
261
  * Current status of the payout.
339
262
  */
340
- status: 'pending' | 'paid' | 'failed' | 'returned';
263
+ status: 'initiated' | 'submitted' | 'sent' | 'failed' | 'returned';
264
+ /**
265
+ * Identifier used to track the payout through the payment network where supported.
266
+ */
267
+ tracking_id: string | null;
268
+ /**
269
+ * Transaction hash for crypto payouts, or null when not known. Only blockchain
270
+ * rails support this field.
271
+ */
272
+ tx_hash: string | null;
341
273
  /**
342
274
  * Resource type discriminator.
343
275
  */
344
276
  type: 'payout';
345
277
  /**
346
- * ISO 8601 UTC timestamp when the payout was last updated.
278
+ * Unstructured remittance information attached to the transfer. Not all rails
279
+ * support this field.
347
280
  */
348
- updated_at: string;
281
+ unstructured_remittance_information: string | null;
349
282
  }
350
283
  export declare namespace PayoutListResponse {
351
- interface IbanFinancialAddress {
352
- /**
353
- * Name of the account holder.
354
- */
355
- account_holder_name: string;
356
- /**
357
- * Bank Identifier Code, or null if not provided.
358
- */
359
- bic: string | null;
360
- /**
361
- * International Bank Account Number.
362
- */
363
- iban: string;
364
- /**
365
- * Discriminator for IBAN financial address.
366
- */
367
- type: 'iban';
368
- }
369
- interface SortCodeFinancialAddress {
370
- /**
371
- * Name of the account holder.
372
- */
373
- account_holder_name: string;
374
- /**
375
- * UK account number (8 digits).
376
- */
377
- account_number: string;
378
- /**
379
- * UK sort code (6 digits).
380
- */
381
- sort_code: string;
382
- /**
383
- * Discriminator for UK sort code financial address.
384
- */
385
- type: 'sort_code';
386
- }
387
- interface AbaFinancialAddress {
388
- /**
389
- * Name of the account holder.
390
- */
391
- account_holder_name: string;
392
- /**
393
- * Bank account number.
394
- */
395
- account_number: string;
396
- /**
397
- * ABA routing number (9 digits).
398
- */
399
- routing_number: string;
400
- /**
401
- * Discriminator for ABA wire financial address.
402
- */
403
- type: 'aba';
404
- }
405
- interface CryptoWalletFinancialAddress {
406
- /**
407
- * Wallet address on the specified blockchain.
408
- */
409
- address: string;
410
- /**
411
- * Blockchain network for the crypto wallet.
412
- */
413
- blockchain: 'bitcoin' | 'ethereum' | 'solana' | 'polygon' | 'bitcoin_testnet4' | 'ethereum_sepolia' | 'solana_devnet' | 'polygon_amoy';
414
- /**
415
- * Discriminator for crypto wallet financial address.
416
- */
417
- type: 'crypto_wallet';
418
- }
419
284
  /**
420
285
  * Failure details when status is failed, otherwise null.
421
286
  */
@@ -423,7 +288,7 @@ export declare namespace PayoutListResponse {
423
288
  /**
424
289
  * Failure code.
425
290
  */
426
- code: 'account_closed' | 'account_blocked' | 'insufficient_funds' | 'invalid_account_format' | 'invalid_instruction' | 'invalid_amount' | 'invalid_time' | 'duplicate_transaction' | 'payee_verification_failed' | 'system_error' | 'provider_system_error' | 'rejected_by_correspondent_bank' | 'blocked_by_review' | 'unknown';
291
+ code: 'account_closed' | 'account_blocked' | 'insufficient_funds' | 'invalid_account_format' | 'invalid_routing_number' | 'invalid_instruction' | 'invalid_amount' | 'invalid_time' | 'duplicate_transaction' | 'payee_verification_failed' | 'system_error' | 'provider_system_error' | 'rejected_by_correspondent_bank' | 'blocked_by_review' | 'unknown';
427
292
  /**
428
293
  * Human-readable description of the failure.
429
294
  */
@@ -436,42 +301,120 @@ export declare namespace PayoutListResponse {
436
301
  }
437
302
  export interface PayoutCreateParams {
438
303
  /**
439
- * Amount as a string decimal (e.g. "100.50").
440
- */
441
- amount: string;
442
- /**
443
- * Currency for the payout.
444
- */
445
- currency: 'EUR' | 'GBP' | 'USD' | 'USDC';
446
- /**
447
- * Bank account or crypto wallet to send funds to.
304
+ * ID of the account to debit.
448
305
  */
449
- destination: PayoutCreateParams.Iban | PayoutCreateParams.SortCodeFinancialAddress | PayoutCreateParams.AbaFinancialAddress | PayoutCreateParams.CryptoWalletFinancialAddress;
306
+ account_id: string;
450
307
  /**
451
- * Payment reference.
308
+ * Amount as a string decimal (e.g. "100.50").
452
309
  */
453
- reference: string;
310
+ amount: string;
454
311
  /**
455
- * ID of the account to debit.
312
+ * Where and how to send the payout: a saved counterparty or an inline financial
313
+ * address. Currency and rail are bundled with the destination so only valid
314
+ * combinations are accepted.
456
315
  */
457
- source_account_id: string;
316
+ destination: PayoutCreateParams.SavedCounterpartyDestination | PayoutCreateParams.IbanEurDestination | PayoutCreateParams.IbanUsdDestination | PayoutCreateParams.SortCodeDestination | PayoutCreateParams.AbaDestination | PayoutCreateParams.BicDestination | PayoutCreateParams.CryptoWalletDestination;
458
317
  /**
459
318
  * Key-value pairs stored with the payout.
460
319
  */
461
320
  metadata?: {
462
321
  [key: string]: string;
463
- };
322
+ } | null;
464
323
  /**
465
- * Payment rail. It is enforced when provided, otherwise auto-selected.
324
+ * Unstructured remittance information attached to the transfer. This appears on
325
+ * the counterparty's bank statement. Not supported by blockchain rails.
466
326
  */
467
- rail?: 'sepa_instant' | 'sepa' | 'faster_payments';
327
+ unstructured_remittance_information?: string | null;
468
328
  }
469
329
  export declare namespace PayoutCreateParams {
470
- interface Iban {
330
+ interface SavedCounterpartyDestination {
331
+ /**
332
+ * ID of the saved counterparty to pay.
333
+ */
334
+ counterparty_id: string;
335
+ /**
336
+ * Discriminator for paying a saved counterparty.
337
+ */
338
+ type: 'counterparty';
339
+ /**
340
+ * Settlement rail the counterparty is reachable on. Selected automatically when
341
+ * omitted.
342
+ */
343
+ rail?: 'sepa' | 'sepa_instant' | 'faster_payments' | 'ach' | 'fedwire' | 'swift';
344
+ }
345
+ interface IbanEurDestination {
346
+ /**
347
+ * Name of the account holder.
348
+ */
349
+ account_holder_name: string;
350
+ /**
351
+ * Currency of the payout. Settles in EUR.
352
+ */
353
+ currency: 'EUR';
354
+ /**
355
+ * International Bank Account Number.
356
+ */
357
+ iban: string;
358
+ /**
359
+ * Discriminator for IBAN financial address.
360
+ */
361
+ type: 'iban';
362
+ /**
363
+ * Bank Identifier Code. Optional; omit or send null if not provided.
364
+ */
365
+ bic?: string | null;
366
+ /**
367
+ * Physical address of the counterparty. Only used when creating a new counterparty
368
+ * inline.
369
+ */
370
+ physical_address?: IbanEurDestination.PhysicalAddress | null;
371
+ /**
372
+ * When omitted, Augustus sends via SEPA Instant where available and falls back to
373
+ * SEPA Credit Transfer.
374
+ */
375
+ rail?: 'sepa' | 'sepa_instant';
376
+ }
377
+ namespace IbanEurDestination {
378
+ /**
379
+ * Physical address of the counterparty. Only used when creating a new counterparty
380
+ * inline.
381
+ */
382
+ interface PhysicalAddress {
383
+ /**
384
+ * City or locality.
385
+ */
386
+ city: string;
387
+ /**
388
+ * ISO 3166-1 alpha-2 country code.
389
+ */
390
+ country_code: 'AF' | 'AL' | 'DZ' | 'AS' | 'AD' | 'AO' | 'AI' | 'AQ' | 'AG' | 'AR' | 'AM' | 'AW' | 'AU' | 'AT' | 'AZ' | 'BS' | 'BH' | 'BD' | 'BB' | 'BY' | 'BE' | 'BZ' | 'BJ' | 'BM' | 'BT' | 'BO' | 'BA' | 'BW' | 'BV' | 'BR' | 'IO' | 'BN' | 'BG' | 'BF' | 'BI' | 'KH' | 'CM' | 'CA' | 'CV' | 'KY' | 'CF' | 'TD' | 'CL' | 'CN' | 'CX' | 'CC' | 'CO' | 'KM' | 'CG' | 'CD' | 'CK' | 'CR' | 'CI' | 'HR' | 'CU' | 'CY' | 'CZ' | 'DK' | 'DJ' | 'DM' | 'DO' | 'EC' | 'EG' | 'SV' | 'GQ' | 'ER' | 'EE' | 'ET' | 'FK' | 'FO' | 'FJ' | 'FI' | 'FR' | 'GF' | 'PF' | 'TF' | 'GA' | 'GM' | 'GE' | 'DE' | 'GH' | 'GI' | 'GR' | 'GL' | 'GD' | 'GP' | 'GU' | 'GT' | 'GN' | 'GW' | 'GY' | 'HT' | 'HM' | 'VA' | 'HN' | 'HK' | 'HU' | 'IS' | 'IN' | 'ID' | 'IR' | 'IQ' | 'IE' | 'IL' | 'IT' | 'JM' | 'JP' | 'JO' | 'KZ' | 'KE' | 'KI' | 'KP' | 'KR' | 'KW' | 'KG' | 'LA' | 'LV' | 'LB' | 'LS' | 'LR' | 'LY' | 'LI' | 'LT' | 'LU' | 'MO' | 'MG' | 'MW' | 'MY' | 'MV' | 'ML' | 'MT' | 'MH' | 'MQ' | 'MR' | 'MU' | 'YT' | 'MX' | 'FM' | 'MD' | 'MC' | 'MN' | 'MS' | 'MA' | 'MZ' | 'MM' | 'NA' | 'NR' | 'NP' | 'NL' | 'NC' | 'NZ' | 'NI' | 'NE' | 'NG' | 'NU' | 'NF' | 'MP' | 'MK' | 'NO' | 'OM' | 'PK' | 'PW' | 'PS' | 'PA' | 'PG' | 'PY' | 'PE' | 'PH' | 'PN' | 'PL' | 'PT' | 'PR' | 'QA' | 'RE' | 'RO' | 'RU' | 'RW' | 'SH' | 'KN' | 'LC' | 'PM' | 'VC' | 'WS' | 'SM' | 'ST' | 'SA' | 'SN' | 'SC' | 'SL' | 'SG' | 'SK' | 'SI' | 'SB' | 'SO' | 'ZA' | 'GS' | 'ES' | 'LK' | 'SD' | 'SR' | 'SJ' | 'SZ' | 'SE' | 'CH' | 'SY' | 'TW' | 'TJ' | 'TZ' | 'TH' | 'TL' | 'TG' | 'TK' | 'TO' | 'TT' | 'TN' | 'TR' | 'TM' | 'TC' | 'TV' | 'UG' | 'UA' | 'AE' | 'GB' | 'US' | 'UM' | 'UY' | 'UZ' | 'VU' | 'VE' | 'VN' | 'VG' | 'VI' | 'WF' | 'EH' | 'YE' | 'ZM' | 'ZW' | 'AX' | 'BQ' | 'CW' | 'GG' | 'IM' | 'JE' | 'ME' | 'BL' | 'MF' | 'RS' | 'SX' | 'SS' | 'XK';
391
+ /**
392
+ * Primary street address.
393
+ */
394
+ line_1: string;
395
+ /**
396
+ * Postal or ZIP code.
397
+ */
398
+ postal_code: string;
399
+ /**
400
+ * Secondary street address, or null if not recorded.
401
+ */
402
+ line_2?: string | null;
403
+ /**
404
+ * State, province, or region, or null if not recorded.
405
+ */
406
+ state?: string | null;
407
+ }
408
+ }
409
+ interface IbanUsdDestination {
471
410
  /**
472
411
  * Name of the account holder.
473
412
  */
474
413
  account_holder_name: string;
414
+ /**
415
+ * Currency of the payout. Settles in USD over SWIFT.
416
+ */
417
+ currency: 'USD';
475
418
  /**
476
419
  * International Bank Account Number.
477
420
  */
@@ -481,11 +424,52 @@ export declare namespace PayoutCreateParams {
481
424
  */
482
425
  type: 'iban';
483
426
  /**
484
- * Bank Identifier Code.
427
+ * Bank Identifier Code. Optional; omit or send null if not provided.
428
+ */
429
+ bic?: string | null;
430
+ /**
431
+ * Physical address of the counterparty. Only used when creating a new counterparty
432
+ * inline.
433
+ */
434
+ physical_address?: IbanUsdDestination.PhysicalAddress | null;
435
+ /**
436
+ * Settles over SWIFT. Defaults to `swift` when omitted.
485
437
  */
486
- bic?: string;
438
+ rail?: 'swift';
487
439
  }
488
- interface SortCodeFinancialAddress {
440
+ namespace IbanUsdDestination {
441
+ /**
442
+ * Physical address of the counterparty. Only used when creating a new counterparty
443
+ * inline.
444
+ */
445
+ interface PhysicalAddress {
446
+ /**
447
+ * City or locality.
448
+ */
449
+ city: string;
450
+ /**
451
+ * ISO 3166-1 alpha-2 country code.
452
+ */
453
+ country_code: 'AF' | 'AL' | 'DZ' | 'AS' | 'AD' | 'AO' | 'AI' | 'AQ' | 'AG' | 'AR' | 'AM' | 'AW' | 'AU' | 'AT' | 'AZ' | 'BS' | 'BH' | 'BD' | 'BB' | 'BY' | 'BE' | 'BZ' | 'BJ' | 'BM' | 'BT' | 'BO' | 'BA' | 'BW' | 'BV' | 'BR' | 'IO' | 'BN' | 'BG' | 'BF' | 'BI' | 'KH' | 'CM' | 'CA' | 'CV' | 'KY' | 'CF' | 'TD' | 'CL' | 'CN' | 'CX' | 'CC' | 'CO' | 'KM' | 'CG' | 'CD' | 'CK' | 'CR' | 'CI' | 'HR' | 'CU' | 'CY' | 'CZ' | 'DK' | 'DJ' | 'DM' | 'DO' | 'EC' | 'EG' | 'SV' | 'GQ' | 'ER' | 'EE' | 'ET' | 'FK' | 'FO' | 'FJ' | 'FI' | 'FR' | 'GF' | 'PF' | 'TF' | 'GA' | 'GM' | 'GE' | 'DE' | 'GH' | 'GI' | 'GR' | 'GL' | 'GD' | 'GP' | 'GU' | 'GT' | 'GN' | 'GW' | 'GY' | 'HT' | 'HM' | 'VA' | 'HN' | 'HK' | 'HU' | 'IS' | 'IN' | 'ID' | 'IR' | 'IQ' | 'IE' | 'IL' | 'IT' | 'JM' | 'JP' | 'JO' | 'KZ' | 'KE' | 'KI' | 'KP' | 'KR' | 'KW' | 'KG' | 'LA' | 'LV' | 'LB' | 'LS' | 'LR' | 'LY' | 'LI' | 'LT' | 'LU' | 'MO' | 'MG' | 'MW' | 'MY' | 'MV' | 'ML' | 'MT' | 'MH' | 'MQ' | 'MR' | 'MU' | 'YT' | 'MX' | 'FM' | 'MD' | 'MC' | 'MN' | 'MS' | 'MA' | 'MZ' | 'MM' | 'NA' | 'NR' | 'NP' | 'NL' | 'NC' | 'NZ' | 'NI' | 'NE' | 'NG' | 'NU' | 'NF' | 'MP' | 'MK' | 'NO' | 'OM' | 'PK' | 'PW' | 'PS' | 'PA' | 'PG' | 'PY' | 'PE' | 'PH' | 'PN' | 'PL' | 'PT' | 'PR' | 'QA' | 'RE' | 'RO' | 'RU' | 'RW' | 'SH' | 'KN' | 'LC' | 'PM' | 'VC' | 'WS' | 'SM' | 'ST' | 'SA' | 'SN' | 'SC' | 'SL' | 'SG' | 'SK' | 'SI' | 'SB' | 'SO' | 'ZA' | 'GS' | 'ES' | 'LK' | 'SD' | 'SR' | 'SJ' | 'SZ' | 'SE' | 'CH' | 'SY' | 'TW' | 'TJ' | 'TZ' | 'TH' | 'TL' | 'TG' | 'TK' | 'TO' | 'TT' | 'TN' | 'TR' | 'TM' | 'TC' | 'TV' | 'UG' | 'UA' | 'AE' | 'GB' | 'US' | 'UM' | 'UY' | 'UZ' | 'VU' | 'VE' | 'VN' | 'VG' | 'VI' | 'WF' | 'EH' | 'YE' | 'ZM' | 'ZW' | 'AX' | 'BQ' | 'CW' | 'GG' | 'IM' | 'JE' | 'ME' | 'BL' | 'MF' | 'RS' | 'SX' | 'SS' | 'XK';
454
+ /**
455
+ * Primary street address.
456
+ */
457
+ line_1: string;
458
+ /**
459
+ * Postal or ZIP code.
460
+ */
461
+ postal_code: string;
462
+ /**
463
+ * Secondary street address, or null if not recorded.
464
+ */
465
+ line_2?: string | null;
466
+ /**
467
+ * State, province, or region, or null if not recorded.
468
+ */
469
+ state?: string | null;
470
+ }
471
+ }
472
+ interface SortCodeDestination {
489
473
  /**
490
474
  * Name of the account holder.
491
475
  */
@@ -494,6 +478,10 @@ export declare namespace PayoutCreateParams {
494
478
  * UK account number (8 digits).
495
479
  */
496
480
  account_number: string;
481
+ /**
482
+ * Currency of the payout. Sort code destinations settle in GBP.
483
+ */
484
+ currency: 'GBP';
497
485
  /**
498
486
  * UK sort code (6 digits).
499
487
  */
@@ -502,8 +490,49 @@ export declare namespace PayoutCreateParams {
502
490
  * Discriminator for UK sort code financial address.
503
491
  */
504
492
  type: 'sort_code';
493
+ /**
494
+ * Physical address of the counterparty. Only used when creating a new counterparty
495
+ * inline.
496
+ */
497
+ physical_address?: SortCodeDestination.PhysicalAddress | null;
498
+ /**
499
+ * Selected automatically for this destination when omitted.
500
+ */
501
+ rail?: 'faster_payments';
505
502
  }
506
- interface AbaFinancialAddress {
503
+ namespace SortCodeDestination {
504
+ /**
505
+ * Physical address of the counterparty. Only used when creating a new counterparty
506
+ * inline.
507
+ */
508
+ interface PhysicalAddress {
509
+ /**
510
+ * City or locality.
511
+ */
512
+ city: string;
513
+ /**
514
+ * ISO 3166-1 alpha-2 country code.
515
+ */
516
+ country_code: 'AF' | 'AL' | 'DZ' | 'AS' | 'AD' | 'AO' | 'AI' | 'AQ' | 'AG' | 'AR' | 'AM' | 'AW' | 'AU' | 'AT' | 'AZ' | 'BS' | 'BH' | 'BD' | 'BB' | 'BY' | 'BE' | 'BZ' | 'BJ' | 'BM' | 'BT' | 'BO' | 'BA' | 'BW' | 'BV' | 'BR' | 'IO' | 'BN' | 'BG' | 'BF' | 'BI' | 'KH' | 'CM' | 'CA' | 'CV' | 'KY' | 'CF' | 'TD' | 'CL' | 'CN' | 'CX' | 'CC' | 'CO' | 'KM' | 'CG' | 'CD' | 'CK' | 'CR' | 'CI' | 'HR' | 'CU' | 'CY' | 'CZ' | 'DK' | 'DJ' | 'DM' | 'DO' | 'EC' | 'EG' | 'SV' | 'GQ' | 'ER' | 'EE' | 'ET' | 'FK' | 'FO' | 'FJ' | 'FI' | 'FR' | 'GF' | 'PF' | 'TF' | 'GA' | 'GM' | 'GE' | 'DE' | 'GH' | 'GI' | 'GR' | 'GL' | 'GD' | 'GP' | 'GU' | 'GT' | 'GN' | 'GW' | 'GY' | 'HT' | 'HM' | 'VA' | 'HN' | 'HK' | 'HU' | 'IS' | 'IN' | 'ID' | 'IR' | 'IQ' | 'IE' | 'IL' | 'IT' | 'JM' | 'JP' | 'JO' | 'KZ' | 'KE' | 'KI' | 'KP' | 'KR' | 'KW' | 'KG' | 'LA' | 'LV' | 'LB' | 'LS' | 'LR' | 'LY' | 'LI' | 'LT' | 'LU' | 'MO' | 'MG' | 'MW' | 'MY' | 'MV' | 'ML' | 'MT' | 'MH' | 'MQ' | 'MR' | 'MU' | 'YT' | 'MX' | 'FM' | 'MD' | 'MC' | 'MN' | 'MS' | 'MA' | 'MZ' | 'MM' | 'NA' | 'NR' | 'NP' | 'NL' | 'NC' | 'NZ' | 'NI' | 'NE' | 'NG' | 'NU' | 'NF' | 'MP' | 'MK' | 'NO' | 'OM' | 'PK' | 'PW' | 'PS' | 'PA' | 'PG' | 'PY' | 'PE' | 'PH' | 'PN' | 'PL' | 'PT' | 'PR' | 'QA' | 'RE' | 'RO' | 'RU' | 'RW' | 'SH' | 'KN' | 'LC' | 'PM' | 'VC' | 'WS' | 'SM' | 'ST' | 'SA' | 'SN' | 'SC' | 'SL' | 'SG' | 'SK' | 'SI' | 'SB' | 'SO' | 'ZA' | 'GS' | 'ES' | 'LK' | 'SD' | 'SR' | 'SJ' | 'SZ' | 'SE' | 'CH' | 'SY' | 'TW' | 'TJ' | 'TZ' | 'TH' | 'TL' | 'TG' | 'TK' | 'TO' | 'TT' | 'TN' | 'TR' | 'TM' | 'TC' | 'TV' | 'UG' | 'UA' | 'AE' | 'GB' | 'US' | 'UM' | 'UY' | 'UZ' | 'VU' | 'VE' | 'VN' | 'VG' | 'VI' | 'WF' | 'EH' | 'YE' | 'ZM' | 'ZW' | 'AX' | 'BQ' | 'CW' | 'GG' | 'IM' | 'JE' | 'ME' | 'BL' | 'MF' | 'RS' | 'SX' | 'SS' | 'XK';
517
+ /**
518
+ * Primary street address.
519
+ */
520
+ line_1: string;
521
+ /**
522
+ * Postal or ZIP code.
523
+ */
524
+ postal_code: string;
525
+ /**
526
+ * Secondary street address, or null if not recorded.
527
+ */
528
+ line_2?: string | null;
529
+ /**
530
+ * State, province, or region, or null if not recorded.
531
+ */
532
+ state?: string | null;
533
+ }
534
+ }
535
+ interface AbaDestination {
507
536
  /**
508
537
  * Name of the account holder.
509
538
  */
@@ -512,6 +541,14 @@ export declare namespace PayoutCreateParams {
512
541
  * Bank account number.
513
542
  */
514
543
  account_number: string;
544
+ /**
545
+ * Currency of the payout. ABA destinations settle in USD.
546
+ */
547
+ currency: 'USD';
548
+ /**
549
+ * ABA accounts are reachable on more than one rail, so the rail must be specified.
550
+ */
551
+ rail: 'ach' | 'fedwire';
515
552
  /**
516
553
  * ABA routing number (9 digits).
517
554
  */
@@ -520,20 +557,165 @@ export declare namespace PayoutCreateParams {
520
557
  * Discriminator for ABA wire financial address.
521
558
  */
522
559
  type: 'aba';
560
+ /**
561
+ * Physical address of the counterparty. Only used when creating a new counterparty
562
+ * inline.
563
+ */
564
+ physical_address?: AbaDestination.PhysicalAddress | null;
523
565
  }
524
- interface CryptoWalletFinancialAddress {
566
+ namespace AbaDestination {
567
+ /**
568
+ * Physical address of the counterparty. Only used when creating a new counterparty
569
+ * inline.
570
+ */
571
+ interface PhysicalAddress {
572
+ /**
573
+ * City or locality.
574
+ */
575
+ city: string;
576
+ /**
577
+ * ISO 3166-1 alpha-2 country code.
578
+ */
579
+ country_code: 'AF' | 'AL' | 'DZ' | 'AS' | 'AD' | 'AO' | 'AI' | 'AQ' | 'AG' | 'AR' | 'AM' | 'AW' | 'AU' | 'AT' | 'AZ' | 'BS' | 'BH' | 'BD' | 'BB' | 'BY' | 'BE' | 'BZ' | 'BJ' | 'BM' | 'BT' | 'BO' | 'BA' | 'BW' | 'BV' | 'BR' | 'IO' | 'BN' | 'BG' | 'BF' | 'BI' | 'KH' | 'CM' | 'CA' | 'CV' | 'KY' | 'CF' | 'TD' | 'CL' | 'CN' | 'CX' | 'CC' | 'CO' | 'KM' | 'CG' | 'CD' | 'CK' | 'CR' | 'CI' | 'HR' | 'CU' | 'CY' | 'CZ' | 'DK' | 'DJ' | 'DM' | 'DO' | 'EC' | 'EG' | 'SV' | 'GQ' | 'ER' | 'EE' | 'ET' | 'FK' | 'FO' | 'FJ' | 'FI' | 'FR' | 'GF' | 'PF' | 'TF' | 'GA' | 'GM' | 'GE' | 'DE' | 'GH' | 'GI' | 'GR' | 'GL' | 'GD' | 'GP' | 'GU' | 'GT' | 'GN' | 'GW' | 'GY' | 'HT' | 'HM' | 'VA' | 'HN' | 'HK' | 'HU' | 'IS' | 'IN' | 'ID' | 'IR' | 'IQ' | 'IE' | 'IL' | 'IT' | 'JM' | 'JP' | 'JO' | 'KZ' | 'KE' | 'KI' | 'KP' | 'KR' | 'KW' | 'KG' | 'LA' | 'LV' | 'LB' | 'LS' | 'LR' | 'LY' | 'LI' | 'LT' | 'LU' | 'MO' | 'MG' | 'MW' | 'MY' | 'MV' | 'ML' | 'MT' | 'MH' | 'MQ' | 'MR' | 'MU' | 'YT' | 'MX' | 'FM' | 'MD' | 'MC' | 'MN' | 'MS' | 'MA' | 'MZ' | 'MM' | 'NA' | 'NR' | 'NP' | 'NL' | 'NC' | 'NZ' | 'NI' | 'NE' | 'NG' | 'NU' | 'NF' | 'MP' | 'MK' | 'NO' | 'OM' | 'PK' | 'PW' | 'PS' | 'PA' | 'PG' | 'PY' | 'PE' | 'PH' | 'PN' | 'PL' | 'PT' | 'PR' | 'QA' | 'RE' | 'RO' | 'RU' | 'RW' | 'SH' | 'KN' | 'LC' | 'PM' | 'VC' | 'WS' | 'SM' | 'ST' | 'SA' | 'SN' | 'SC' | 'SL' | 'SG' | 'SK' | 'SI' | 'SB' | 'SO' | 'ZA' | 'GS' | 'ES' | 'LK' | 'SD' | 'SR' | 'SJ' | 'SZ' | 'SE' | 'CH' | 'SY' | 'TW' | 'TJ' | 'TZ' | 'TH' | 'TL' | 'TG' | 'TK' | 'TO' | 'TT' | 'TN' | 'TR' | 'TM' | 'TC' | 'TV' | 'UG' | 'UA' | 'AE' | 'GB' | 'US' | 'UM' | 'UY' | 'UZ' | 'VU' | 'VE' | 'VN' | 'VG' | 'VI' | 'WF' | 'EH' | 'YE' | 'ZM' | 'ZW' | 'AX' | 'BQ' | 'CW' | 'GG' | 'IM' | 'JE' | 'ME' | 'BL' | 'MF' | 'RS' | 'SX' | 'SS' | 'XK';
580
+ /**
581
+ * Primary street address.
582
+ */
583
+ line_1: string;
584
+ /**
585
+ * Postal or ZIP code.
586
+ */
587
+ postal_code: string;
588
+ /**
589
+ * Secondary street address, or null if not recorded.
590
+ */
591
+ line_2?: string | null;
592
+ /**
593
+ * State, province, or region, or null if not recorded.
594
+ */
595
+ state?: string | null;
596
+ }
597
+ }
598
+ interface BicDestination {
599
+ /**
600
+ * Name of the account holder.
601
+ */
602
+ account_holder_name: string;
603
+ /**
604
+ * Local-format bank account number (1-34 alphanumeric characters).
605
+ */
606
+ account_number: string;
607
+ /**
608
+ * ISO 9362 Bank Identifier Code (8 or 11 characters).
609
+ */
610
+ bic: string;
611
+ /**
612
+ * Currency of the payout. Settles in USD over SWIFT.
613
+ */
614
+ currency: 'USD';
615
+ /**
616
+ * Physical address of the counterparty. Required for SWIFT destinations.
617
+ */
618
+ physical_address: BicDestination.PhysicalAddress;
619
+ /**
620
+ * Discriminator for BIC + local account financial address.
621
+ */
622
+ type: 'bic';
623
+ /**
624
+ * Domestic bank or branch code where the destination country uses one (for example
625
+ * the BSB in Australia). Optional; omit or send null where the country has none.
626
+ */
627
+ local_bank_code?: string | null;
628
+ /**
629
+ * Settles over SWIFT. Defaults to `swift` when omitted.
630
+ */
631
+ rail?: 'swift';
632
+ }
633
+ namespace BicDestination {
634
+ /**
635
+ * Physical address of the counterparty. Required for SWIFT destinations.
636
+ */
637
+ interface PhysicalAddress {
638
+ /**
639
+ * City or locality.
640
+ */
641
+ city: string;
642
+ /**
643
+ * ISO 3166-1 alpha-2 country code.
644
+ */
645
+ country_code: 'AF' | 'AL' | 'DZ' | 'AS' | 'AD' | 'AO' | 'AI' | 'AQ' | 'AG' | 'AR' | 'AM' | 'AW' | 'AU' | 'AT' | 'AZ' | 'BS' | 'BH' | 'BD' | 'BB' | 'BY' | 'BE' | 'BZ' | 'BJ' | 'BM' | 'BT' | 'BO' | 'BA' | 'BW' | 'BV' | 'BR' | 'IO' | 'BN' | 'BG' | 'BF' | 'BI' | 'KH' | 'CM' | 'CA' | 'CV' | 'KY' | 'CF' | 'TD' | 'CL' | 'CN' | 'CX' | 'CC' | 'CO' | 'KM' | 'CG' | 'CD' | 'CK' | 'CR' | 'CI' | 'HR' | 'CU' | 'CY' | 'CZ' | 'DK' | 'DJ' | 'DM' | 'DO' | 'EC' | 'EG' | 'SV' | 'GQ' | 'ER' | 'EE' | 'ET' | 'FK' | 'FO' | 'FJ' | 'FI' | 'FR' | 'GF' | 'PF' | 'TF' | 'GA' | 'GM' | 'GE' | 'DE' | 'GH' | 'GI' | 'GR' | 'GL' | 'GD' | 'GP' | 'GU' | 'GT' | 'GN' | 'GW' | 'GY' | 'HT' | 'HM' | 'VA' | 'HN' | 'HK' | 'HU' | 'IS' | 'IN' | 'ID' | 'IR' | 'IQ' | 'IE' | 'IL' | 'IT' | 'JM' | 'JP' | 'JO' | 'KZ' | 'KE' | 'KI' | 'KP' | 'KR' | 'KW' | 'KG' | 'LA' | 'LV' | 'LB' | 'LS' | 'LR' | 'LY' | 'LI' | 'LT' | 'LU' | 'MO' | 'MG' | 'MW' | 'MY' | 'MV' | 'ML' | 'MT' | 'MH' | 'MQ' | 'MR' | 'MU' | 'YT' | 'MX' | 'FM' | 'MD' | 'MC' | 'MN' | 'MS' | 'MA' | 'MZ' | 'MM' | 'NA' | 'NR' | 'NP' | 'NL' | 'NC' | 'NZ' | 'NI' | 'NE' | 'NG' | 'NU' | 'NF' | 'MP' | 'MK' | 'NO' | 'OM' | 'PK' | 'PW' | 'PS' | 'PA' | 'PG' | 'PY' | 'PE' | 'PH' | 'PN' | 'PL' | 'PT' | 'PR' | 'QA' | 'RE' | 'RO' | 'RU' | 'RW' | 'SH' | 'KN' | 'LC' | 'PM' | 'VC' | 'WS' | 'SM' | 'ST' | 'SA' | 'SN' | 'SC' | 'SL' | 'SG' | 'SK' | 'SI' | 'SB' | 'SO' | 'ZA' | 'GS' | 'ES' | 'LK' | 'SD' | 'SR' | 'SJ' | 'SZ' | 'SE' | 'CH' | 'SY' | 'TW' | 'TJ' | 'TZ' | 'TH' | 'TL' | 'TG' | 'TK' | 'TO' | 'TT' | 'TN' | 'TR' | 'TM' | 'TC' | 'TV' | 'UG' | 'UA' | 'AE' | 'GB' | 'US' | 'UM' | 'UY' | 'UZ' | 'VU' | 'VE' | 'VN' | 'VG' | 'VI' | 'WF' | 'EH' | 'YE' | 'ZM' | 'ZW' | 'AX' | 'BQ' | 'CW' | 'GG' | 'IM' | 'JE' | 'ME' | 'BL' | 'MF' | 'RS' | 'SX' | 'SS' | 'XK';
646
+ /**
647
+ * Primary street address.
648
+ */
649
+ line_1: string;
650
+ /**
651
+ * Postal or ZIP code.
652
+ */
653
+ postal_code: string;
654
+ /**
655
+ * Secondary street address, or null if not recorded.
656
+ */
657
+ line_2?: string | null;
658
+ /**
659
+ * State, province, or region, or null if not recorded.
660
+ */
661
+ state?: string | null;
662
+ }
663
+ }
664
+ interface CryptoWalletDestination {
525
665
  /**
526
666
  * Wallet address on the specified blockchain.
527
667
  */
528
668
  address: string;
529
669
  /**
530
- * Blockchain network for the crypto wallet.
670
+ * Blockchain network of the destination wallet.
531
671
  */
532
- blockchain: 'bitcoin' | 'ethereum' | 'solana' | 'polygon' | 'bitcoin_testnet4' | 'ethereum_sepolia' | 'solana_devnet' | 'polygon_amoy';
672
+ blockchain: 'ethereum' | 'solana' | 'polygon' | 'ethereum_sepolia' | 'solana_devnet' | 'polygon_amoy';
533
673
  /**
534
- * Discriminator for crypto wallet financial address.
674
+ * Currency debited from the source account. The wallet always settles USDC
675
+ * on-chain; a non-USDC currency triggers auto-conversion.
676
+ */
677
+ currency: 'EUR' | 'GBP' | 'USD' | 'USDC';
678
+ /**
679
+ * Discriminator for a crypto wallet destination.
535
680
  */
536
681
  type: 'crypto_wallet';
682
+ /**
683
+ * Physical address of the counterparty. Only used when creating a new counterparty
684
+ * inline.
685
+ */
686
+ physical_address?: CryptoWalletDestination.PhysicalAddress | null;
687
+ }
688
+ namespace CryptoWalletDestination {
689
+ /**
690
+ * Physical address of the counterparty. Only used when creating a new counterparty
691
+ * inline.
692
+ */
693
+ interface PhysicalAddress {
694
+ /**
695
+ * City or locality.
696
+ */
697
+ city: string;
698
+ /**
699
+ * ISO 3166-1 alpha-2 country code.
700
+ */
701
+ country_code: 'AF' | 'AL' | 'DZ' | 'AS' | 'AD' | 'AO' | 'AI' | 'AQ' | 'AG' | 'AR' | 'AM' | 'AW' | 'AU' | 'AT' | 'AZ' | 'BS' | 'BH' | 'BD' | 'BB' | 'BY' | 'BE' | 'BZ' | 'BJ' | 'BM' | 'BT' | 'BO' | 'BA' | 'BW' | 'BV' | 'BR' | 'IO' | 'BN' | 'BG' | 'BF' | 'BI' | 'KH' | 'CM' | 'CA' | 'CV' | 'KY' | 'CF' | 'TD' | 'CL' | 'CN' | 'CX' | 'CC' | 'CO' | 'KM' | 'CG' | 'CD' | 'CK' | 'CR' | 'CI' | 'HR' | 'CU' | 'CY' | 'CZ' | 'DK' | 'DJ' | 'DM' | 'DO' | 'EC' | 'EG' | 'SV' | 'GQ' | 'ER' | 'EE' | 'ET' | 'FK' | 'FO' | 'FJ' | 'FI' | 'FR' | 'GF' | 'PF' | 'TF' | 'GA' | 'GM' | 'GE' | 'DE' | 'GH' | 'GI' | 'GR' | 'GL' | 'GD' | 'GP' | 'GU' | 'GT' | 'GN' | 'GW' | 'GY' | 'HT' | 'HM' | 'VA' | 'HN' | 'HK' | 'HU' | 'IS' | 'IN' | 'ID' | 'IR' | 'IQ' | 'IE' | 'IL' | 'IT' | 'JM' | 'JP' | 'JO' | 'KZ' | 'KE' | 'KI' | 'KP' | 'KR' | 'KW' | 'KG' | 'LA' | 'LV' | 'LB' | 'LS' | 'LR' | 'LY' | 'LI' | 'LT' | 'LU' | 'MO' | 'MG' | 'MW' | 'MY' | 'MV' | 'ML' | 'MT' | 'MH' | 'MQ' | 'MR' | 'MU' | 'YT' | 'MX' | 'FM' | 'MD' | 'MC' | 'MN' | 'MS' | 'MA' | 'MZ' | 'MM' | 'NA' | 'NR' | 'NP' | 'NL' | 'NC' | 'NZ' | 'NI' | 'NE' | 'NG' | 'NU' | 'NF' | 'MP' | 'MK' | 'NO' | 'OM' | 'PK' | 'PW' | 'PS' | 'PA' | 'PG' | 'PY' | 'PE' | 'PH' | 'PN' | 'PL' | 'PT' | 'PR' | 'QA' | 'RE' | 'RO' | 'RU' | 'RW' | 'SH' | 'KN' | 'LC' | 'PM' | 'VC' | 'WS' | 'SM' | 'ST' | 'SA' | 'SN' | 'SC' | 'SL' | 'SG' | 'SK' | 'SI' | 'SB' | 'SO' | 'ZA' | 'GS' | 'ES' | 'LK' | 'SD' | 'SR' | 'SJ' | 'SZ' | 'SE' | 'CH' | 'SY' | 'TW' | 'TJ' | 'TZ' | 'TH' | 'TL' | 'TG' | 'TK' | 'TO' | 'TT' | 'TN' | 'TR' | 'TM' | 'TC' | 'TV' | 'UG' | 'UA' | 'AE' | 'GB' | 'US' | 'UM' | 'UY' | 'UZ' | 'VU' | 'VE' | 'VN' | 'VG' | 'VI' | 'WF' | 'EH' | 'YE' | 'ZM' | 'ZW' | 'AX' | 'BQ' | 'CW' | 'GG' | 'IM' | 'JE' | 'ME' | 'BL' | 'MF' | 'RS' | 'SX' | 'SS' | 'XK';
702
+ /**
703
+ * Primary street address.
704
+ */
705
+ line_1: string;
706
+ /**
707
+ * Postal or ZIP code.
708
+ */
709
+ postal_code: string;
710
+ /**
711
+ * Secondary street address, or null if not recorded.
712
+ */
713
+ line_2?: string | null;
714
+ /**
715
+ * State, province, or region, or null if not recorded.
716
+ */
717
+ state?: string | null;
718
+ }
537
719
  }
538
720
  }
539
721
  export interface PayoutListParams extends CursorPageParams {
@@ -546,7 +728,7 @@ export interface PayoutListParams extends CursorPageParams {
546
728
  /**
547
729
  * Filter by payout status.
548
730
  */
549
- status?: 'pending' | 'paid' | 'failed';
731
+ status?: 'initiated' | 'submitted' | 'sent' | 'failed' | 'returned';
550
732
  }
551
733
  export declare namespace PayoutListParams {
552
734
  interface CreatedAt {