cybrid_api_bank_ruby 0.121.11 → 0.121.12

Sign up to get free protection for your applications and to get access to all the features.
Files changed (350) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +1 -1
  3. data/README.md +5 -5
  4. data/cybrid_api_bank_ruby.gemspec +1 -1
  5. data/docs/BanksBankApi.md +1 -1
  6. data/docs/CounterpartiesBankApi.md +1 -1
  7. data/docs/CounterpartyAddressBankModel.md +1 -1
  8. data/docs/CustomerAddressBankModel.md +1 -1
  9. data/docs/DepositBankAccountCounterpartyAddressBankModel.md +1 -1
  10. data/docs/DepositBankAccountsBankApi.md +1 -1
  11. data/docs/ExternalBankAccountPiiInnerAddressesInnerBankModel.md +1 -1
  12. data/docs/ExternalBankAccountsBankApi.md +1 -1
  13. data/docs/IdentityVerificationWithDetailsPiiAddressBankModel.md +1 -1
  14. data/docs/IdentityVerificationsBankApi.md +1 -1
  15. data/docs/PatchBankBankModel.md +2 -2
  16. data/docs/PostAccountBankModel.md +1 -1
  17. data/docs/PostBankBankModel.md +9 -9
  18. data/docs/PostCounterpartyAliasesInnerBankModel.md +1 -1
  19. data/docs/PostCounterpartyBankModel.md +4 -4
  20. data/docs/PostCounterpartyNameBankModel.md +6 -6
  21. data/docs/PostCustomerAddressBankModel.md +6 -6
  22. data/docs/PostCustomerBankModel.md +5 -5
  23. data/docs/PostCustomerNameBankModel.md +3 -3
  24. data/docs/PostDepositBankAccountBankModel.md +3 -3
  25. data/docs/PostExternalBankAccountBankModel.md +11 -11
  26. data/docs/PostExternalBankAccountCounterpartyAddressBankModel.md +6 -6
  27. data/docs/PostExternalBankAccountCounterpartyBankAccountBankModel.md +3 -3
  28. data/docs/PostExternalBankAccountCounterpartyNameBankModel.md +4 -4
  29. data/docs/PostExternalWalletBankModel.md +1 -1
  30. data/docs/PostFeeBankModel.md +2 -2
  31. data/docs/PostIdentityVerificationAddressBankModel.md +6 -6
  32. data/docs/PostIdentityVerificationBankModel.md +13 -13
  33. data/docs/PostIdentityVerificationNameBankModel.md +4 -4
  34. data/docs/PostInvoiceBankModel.md +1 -1
  35. data/docs/PostQuoteBankModel.md +12 -12
  36. data/docs/PostTransferBankModel.md +24 -22
  37. data/docs/PostTransferParticipantBankModel.md +1 -1
  38. data/docs/PostWorkflowBankModel.md +7 -7
  39. data/lib/cybrid_api_bank_ruby/api/accounts_bank_api.rb +1 -1
  40. data/lib/cybrid_api_bank_ruby/api/assets_bank_api.rb +1 -1
  41. data/lib/cybrid_api_bank_ruby/api/banks_bank_api.rb +1 -1
  42. data/lib/cybrid_api_bank_ruby/api/counterparties_bank_api.rb +1 -1
  43. data/lib/cybrid_api_bank_ruby/api/customers_bank_api.rb +1 -1
  44. data/lib/cybrid_api_bank_ruby/api/deposit_addresses_bank_api.rb +1 -1
  45. data/lib/cybrid_api_bank_ruby/api/deposit_bank_accounts_bank_api.rb +1 -1
  46. data/lib/cybrid_api_bank_ruby/api/external_bank_accounts_bank_api.rb +1 -1
  47. data/lib/cybrid_api_bank_ruby/api/external_wallets_bank_api.rb +1 -1
  48. data/lib/cybrid_api_bank_ruby/api/identity_verifications_bank_api.rb +1 -1
  49. data/lib/cybrid_api_bank_ruby/api/invoices_bank_api.rb +1 -1
  50. data/lib/cybrid_api_bank_ruby/api/payment_instructions_bank_api.rb +1 -1
  51. data/lib/cybrid_api_bank_ruby/api/prices_bank_api.rb +1 -1
  52. data/lib/cybrid_api_bank_ruby/api/quotes_bank_api.rb +1 -1
  53. data/lib/cybrid_api_bank_ruby/api/symbols_bank_api.rb +1 -1
  54. data/lib/cybrid_api_bank_ruby/api/trades_bank_api.rb +1 -1
  55. data/lib/cybrid_api_bank_ruby/api/transfers_bank_api.rb +1 -1
  56. data/lib/cybrid_api_bank_ruby/api/workflows_bank_api.rb +1 -1
  57. data/lib/cybrid_api_bank_ruby/api_client.rb +1 -1
  58. data/lib/cybrid_api_bank_ruby/api_error.rb +1 -1
  59. data/lib/cybrid_api_bank_ruby/configuration.rb +1 -1
  60. data/lib/cybrid_api_bank_ruby/models/account_bank_model.rb +1 -1
  61. data/lib/cybrid_api_bank_ruby/models/account_list_bank_model.rb +1 -1
  62. data/lib/cybrid_api_bank_ruby/models/account_state_bank_model.rb +1 -1
  63. data/lib/cybrid_api_bank_ruby/models/account_type_bank_model.rb +1 -1
  64. data/lib/cybrid_api_bank_ruby/models/activity_limit_bank_model.rb +1 -1
  65. data/lib/cybrid_api_bank_ruby/models/activity_type_bank_model.rb +1 -1
  66. data/lib/cybrid_api_bank_ruby/models/asset_bank_model.rb +1 -1
  67. data/lib/cybrid_api_bank_ruby/models/asset_list_bank_model.rb +1 -1
  68. data/lib/cybrid_api_bank_ruby/models/asset_types_bank_model.rb +1 -1
  69. data/lib/cybrid_api_bank_ruby/models/bank_bank_model.rb +1 -1
  70. data/lib/cybrid_api_bank_ruby/models/bank_feature_bank_model.rb +1 -1
  71. data/lib/cybrid_api_bank_ruby/models/bank_list_bank_model.rb +1 -1
  72. data/lib/cybrid_api_bank_ruby/models/bank_type_bank_model.rb +1 -1
  73. data/lib/cybrid_api_bank_ruby/models/compliance_check_bank_model.rb +1 -1
  74. data/lib/cybrid_api_bank_ruby/models/compliance_check_outcome_bank_model.rb +1 -1
  75. data/lib/cybrid_api_bank_ruby/models/compliance_check_type_bank_model.rb +1 -1
  76. data/lib/cybrid_api_bank_ruby/models/compliance_decision_bank_model.rb +1 -1
  77. data/lib/cybrid_api_bank_ruby/models/compliance_decision_state_bank_model.rb +1 -1
  78. data/lib/cybrid_api_bank_ruby/models/compliance_decision_type_bank_model.rb +1 -1
  79. data/lib/cybrid_api_bank_ruby/models/counterparty_address_bank_model.rb +2 -2
  80. data/lib/cybrid_api_bank_ruby/models/counterparty_aliases_inner_bank_model.rb +1 -1
  81. data/lib/cybrid_api_bank_ruby/models/counterparty_bank_model.rb +1 -1
  82. data/lib/cybrid_api_bank_ruby/models/counterparty_list_bank_model.rb +1 -1
  83. data/lib/cybrid_api_bank_ruby/models/counterparty_name_bank_model.rb +1 -1
  84. data/lib/cybrid_api_bank_ruby/models/counterparty_state_bank_model.rb +1 -1
  85. data/lib/cybrid_api_bank_ruby/models/counterparty_type_bank_model.rb +1 -1
  86. data/lib/cybrid_api_bank_ruby/models/customer_address_bank_model.rb +2 -2
  87. data/lib/cybrid_api_bank_ruby/models/customer_aliases_inner_bank_model.rb +1 -1
  88. data/lib/cybrid_api_bank_ruby/models/customer_bank_model.rb +1 -1
  89. data/lib/cybrid_api_bank_ruby/models/customer_list_bank_model.rb +1 -1
  90. data/lib/cybrid_api_bank_ruby/models/customer_name_bank_model.rb +1 -1
  91. data/lib/cybrid_api_bank_ruby/models/customer_state_bank_model.rb +1 -1
  92. data/lib/cybrid_api_bank_ruby/models/customer_type_bank_model.rb +1 -1
  93. data/lib/cybrid_api_bank_ruby/models/deposit_address_bank_model.rb +1 -1
  94. data/lib/cybrid_api_bank_ruby/models/deposit_address_format_bank_model.rb +1 -1
  95. data/lib/cybrid_api_bank_ruby/models/deposit_address_list_bank_model.rb +1 -1
  96. data/lib/cybrid_api_bank_ruby/models/deposit_address_state_bank_model.rb +1 -1
  97. data/lib/cybrid_api_bank_ruby/models/deposit_bank_account_account_details_inner_bank_model.rb +1 -1
  98. data/lib/cybrid_api_bank_ruby/models/deposit_bank_account_bank_model.rb +1 -1
  99. data/lib/cybrid_api_bank_ruby/models/deposit_bank_account_counterparty_address_bank_model.rb +2 -2
  100. data/lib/cybrid_api_bank_ruby/models/deposit_bank_account_list_bank_model.rb +1 -1
  101. data/lib/cybrid_api_bank_ruby/models/deposit_bank_account_routing_details_inner_bank_model.rb +1 -1
  102. data/lib/cybrid_api_bank_ruby/models/deposit_bank_account_routing_number_type_bank_model.rb +1 -1
  103. data/lib/cybrid_api_bank_ruby/models/deposit_bank_account_state_bank_model.rb +1 -1
  104. data/lib/cybrid_api_bank_ruby/models/error_response_bank_model.rb +1 -1
  105. data/lib/cybrid_api_bank_ruby/models/external_bank_account_balances_bank_model.rb +1 -1
  106. data/lib/cybrid_api_bank_ruby/models/external_bank_account_bank_model.rb +1 -1
  107. data/lib/cybrid_api_bank_ruby/models/external_bank_account_kind_bank_model.rb +1 -1
  108. data/lib/cybrid_api_bank_ruby/models/external_bank_account_list_bank_model.rb +1 -1
  109. data/lib/cybrid_api_bank_ruby/models/external_bank_account_pii_inner_addresses_inner_bank_model.rb +2 -2
  110. data/lib/cybrid_api_bank_ruby/models/external_bank_account_pii_inner_bank_model.rb +1 -1
  111. data/lib/cybrid_api_bank_ruby/models/external_bank_account_pii_inner_routing_details_inner_bank_model.rb +1 -1
  112. data/lib/cybrid_api_bank_ruby/models/external_bank_account_state_bank_model.rb +1 -1
  113. data/lib/cybrid_api_bank_ruby/models/external_wallet_bank_model.rb +1 -1
  114. data/lib/cybrid_api_bank_ruby/models/external_wallet_environment_bank_model.rb +1 -1
  115. data/lib/cybrid_api_bank_ruby/models/external_wallet_list_bank_model.rb +1 -1
  116. data/lib/cybrid_api_bank_ruby/models/external_wallet_state_bank_model.rb +1 -1
  117. data/lib/cybrid_api_bank_ruby/models/identification_number_bank_model.rb +1 -1
  118. data/lib/cybrid_api_bank_ruby/models/identity_verification_bank_model.rb +1 -1
  119. data/lib/cybrid_api_bank_ruby/models/identity_verification_list_bank_model.rb +1 -1
  120. data/lib/cybrid_api_bank_ruby/models/identity_verification_method_bank_model.rb +1 -1
  121. data/lib/cybrid_api_bank_ruby/models/identity_verification_outcome_bank_model.rb +1 -1
  122. data/lib/cybrid_api_bank_ruby/models/identity_verification_persona_state_bank_model.rb +1 -1
  123. data/lib/cybrid_api_bank_ruby/models/identity_verification_state_bank_model.rb +1 -1
  124. data/lib/cybrid_api_bank_ruby/models/identity_verification_type_bank_model.rb +1 -1
  125. data/lib/cybrid_api_bank_ruby/models/identity_verification_with_details_bank_model.rb +1 -1
  126. data/lib/cybrid_api_bank_ruby/models/identity_verification_with_details_pii_address_bank_model.rb +2 -2
  127. data/lib/cybrid_api_bank_ruby/models/identity_verification_with_details_pii_bank_model.rb +1 -1
  128. data/lib/cybrid_api_bank_ruby/models/identity_verification_with_details_pii_name_bank_model.rb +1 -1
  129. data/lib/cybrid_api_bank_ruby/models/invoice_bank_model.rb +1 -1
  130. data/lib/cybrid_api_bank_ruby/models/invoice_list_bank_model.rb +1 -1
  131. data/lib/cybrid_api_bank_ruby/models/patch_bank_bank_model.rb +21 -3
  132. data/lib/cybrid_api_bank_ruby/models/patch_customer_bank_model.rb +3 -1
  133. data/lib/cybrid_api_bank_ruby/models/patch_external_bank_account_bank_model.rb +2 -1
  134. data/lib/cybrid_api_bank_ruby/models/payment_instruction_bank_model.rb +1 -1
  135. data/lib/cybrid_api_bank_ruby/models/payment_instruction_list_bank_model.rb +1 -1
  136. data/lib/cybrid_api_bank_ruby/models/post_account_bank_model.rb +18 -2
  137. data/lib/cybrid_api_bank_ruby/models/post_bank_bank_model.rb +88 -54
  138. data/lib/cybrid_api_bank_ruby/models/post_counterparty_address_bank_model.rb +2 -1
  139. data/lib/cybrid_api_bank_ruby/models/post_counterparty_aliases_inner_bank_model.rb +2 -2
  140. data/lib/cybrid_api_bank_ruby/models/post_counterparty_bank_model.rb +58 -14
  141. data/lib/cybrid_api_bank_ruby/models/post_counterparty_name_bank_model.rb +21 -20
  142. data/lib/cybrid_api_bank_ruby/models/post_customer_address_bank_model.rb +11 -22
  143. data/lib/cybrid_api_bank_ruby/models/post_customer_bank_model.rb +46 -6
  144. data/lib/cybrid_api_bank_ruby/models/post_customer_name_bank_model.rb +5 -4
  145. data/lib/cybrid_api_bank_ruby/models/post_deposit_address_bank_model.rb +17 -1
  146. data/lib/cybrid_api_bank_ruby/models/post_deposit_bank_account_bank_model.rb +24 -3
  147. data/lib/cybrid_api_bank_ruby/models/post_external_bank_account_bank_model.rb +25 -48
  148. data/lib/cybrid_api_bank_ruby/models/post_external_bank_account_counterparty_address_bank_model.rb +17 -33
  149. data/lib/cybrid_api_bank_ruby/models/post_external_bank_account_counterparty_bank_account_bank_model.rb +8 -20
  150. data/lib/cybrid_api_bank_ruby/models/post_external_bank_account_counterparty_name_bank_model.rb +9 -6
  151. data/lib/cybrid_api_bank_ruby/models/post_external_wallet_bank_model.rb +3 -2
  152. data/lib/cybrid_api_bank_ruby/models/post_fee_bank_model.rb +6 -3
  153. data/lib/cybrid_api_bank_ruby/models/post_identification_number_bank_model.rb +2 -1
  154. data/lib/cybrid_api_bank_ruby/models/post_identity_verification_address_bank_model.rb +11 -51
  155. data/lib/cybrid_api_bank_ruby/models/post_identity_verification_bank_model.rb +76 -130
  156. data/lib/cybrid_api_bank_ruby/models/post_identity_verification_name_bank_model.rb +6 -6
  157. data/lib/cybrid_api_bank_ruby/models/post_invoice_bank_model.rb +18 -2
  158. data/lib/cybrid_api_bank_ruby/models/post_payment_instruction_bank_model.rb +3 -10
  159. data/lib/cybrid_api_bank_ruby/models/post_quote_bank_model.rb +103 -44
  160. data/lib/cybrid_api_bank_ruby/models/post_trade_bank_model.rb +19 -1
  161. data/lib/cybrid_api_bank_ruby/models/post_transfer_bank_model.rb +193 -260
  162. data/lib/cybrid_api_bank_ruby/models/post_transfer_participant_bank_model.rb +3 -2
  163. data/lib/cybrid_api_bank_ruby/models/post_workflow_bank_model.rb +14 -53
  164. data/lib/cybrid_api_bank_ruby/models/quote_bank_model.rb +1 -1
  165. data/lib/cybrid_api_bank_ruby/models/quote_list_bank_model.rb +1 -1
  166. data/lib/cybrid_api_bank_ruby/models/quote_side_bank_model.rb +1 -1
  167. data/lib/cybrid_api_bank_ruby/models/quote_type_bank_model.rb +1 -1
  168. data/lib/cybrid_api_bank_ruby/models/symbol_price_bank_model.rb +1 -1
  169. data/lib/cybrid_api_bank_ruby/models/trade_bank_model.rb +1 -1
  170. data/lib/cybrid_api_bank_ruby/models/trade_failure_code_bank_model.rb +1 -1
  171. data/lib/cybrid_api_bank_ruby/models/trade_list_bank_model.rb +1 -1
  172. data/lib/cybrid_api_bank_ruby/models/trade_side_bank_model.rb +1 -1
  173. data/lib/cybrid_api_bank_ruby/models/trade_state_bank_model.rb +1 -1
  174. data/lib/cybrid_api_bank_ruby/models/trade_type_bank_model.rb +1 -1
  175. data/lib/cybrid_api_bank_ruby/models/transfer_account_type_bank_model.rb +1 -1
  176. data/lib/cybrid_api_bank_ruby/models/transfer_bank_model.rb +1 -1
  177. data/lib/cybrid_api_bank_ruby/models/transfer_destination_account_bank_model.rb +1 -1
  178. data/lib/cybrid_api_bank_ruby/models/transfer_failure_code_bank_model.rb +1 -1
  179. data/lib/cybrid_api_bank_ruby/models/transfer_list_bank_model.rb +1 -1
  180. data/lib/cybrid_api_bank_ruby/models/transfer_participant_bank_model.rb +1 -1
  181. data/lib/cybrid_api_bank_ruby/models/transfer_side_bank_model.rb +1 -1
  182. data/lib/cybrid_api_bank_ruby/models/transfer_source_account_bank_model.rb +1 -1
  183. data/lib/cybrid_api_bank_ruby/models/transfer_state_bank_model.rb +1 -1
  184. data/lib/cybrid_api_bank_ruby/models/transfer_type_bank_model.rb +1 -1
  185. data/lib/cybrid_api_bank_ruby/models/workflow_bank_model.rb +1 -1
  186. data/lib/cybrid_api_bank_ruby/models/workflow_state_bank_model.rb +1 -1
  187. data/lib/cybrid_api_bank_ruby/models/workflow_type_bank_model.rb +1 -1
  188. data/lib/cybrid_api_bank_ruby/models/workflow_with_details_all_of_bank_model.rb +1 -1
  189. data/lib/cybrid_api_bank_ruby/models/workflow_with_details_bank_model.rb +1 -1
  190. data/lib/cybrid_api_bank_ruby/models/workflows_list_bank_model.rb +1 -1
  191. data/lib/cybrid_api_bank_ruby/version.rb +2 -2
  192. data/lib/cybrid_api_bank_ruby.rb +1 -1
  193. data/spec/api/accounts_bank_api_spec.rb +1 -1
  194. data/spec/api/assets_bank_api_spec.rb +1 -1
  195. data/spec/api/banks_bank_api_spec.rb +1 -1
  196. data/spec/api/counterparties_bank_api_spec.rb +1 -1
  197. data/spec/api/customers_bank_api_spec.rb +1 -1
  198. data/spec/api/deposit_addresses_bank_api_spec.rb +1 -1
  199. data/spec/api/deposit_bank_accounts_bank_api_spec.rb +1 -1
  200. data/spec/api/external_bank_accounts_bank_api_spec.rb +1 -1
  201. data/spec/api/external_wallets_bank_api_spec.rb +1 -1
  202. data/spec/api/identity_verifications_bank_api_spec.rb +1 -1
  203. data/spec/api/invoices_bank_api_spec.rb +1 -1
  204. data/spec/api/payment_instructions_bank_api_spec.rb +1 -1
  205. data/spec/api/prices_bank_api_spec.rb +1 -1
  206. data/spec/api/quotes_bank_api_spec.rb +1 -1
  207. data/spec/api/symbols_bank_api_spec.rb +1 -1
  208. data/spec/api/trades_bank_api_spec.rb +1 -1
  209. data/spec/api/transfers_bank_api_spec.rb +1 -1
  210. data/spec/api/workflows_bank_api_spec.rb +1 -1
  211. data/spec/api_client_spec.rb +1 -1
  212. data/spec/configuration_spec.rb +1 -1
  213. data/spec/models/account_bank_model_spec.rb +1 -1
  214. data/spec/models/account_list_bank_model_spec.rb +1 -1
  215. data/spec/models/account_state_bank_model_spec.rb +1 -1
  216. data/spec/models/account_type_bank_model_spec.rb +1 -1
  217. data/spec/models/activity_limit_bank_model_spec.rb +1 -1
  218. data/spec/models/activity_type_bank_model_spec.rb +1 -1
  219. data/spec/models/asset_bank_model_spec.rb +1 -1
  220. data/spec/models/asset_list_bank_model_spec.rb +1 -1
  221. data/spec/models/asset_types_bank_model_spec.rb +1 -1
  222. data/spec/models/bank_bank_model_spec.rb +1 -1
  223. data/spec/models/bank_feature_bank_model_spec.rb +1 -1
  224. data/spec/models/bank_list_bank_model_spec.rb +1 -1
  225. data/spec/models/bank_type_bank_model_spec.rb +1 -1
  226. data/spec/models/compliance_check_bank_model_spec.rb +1 -1
  227. data/spec/models/compliance_check_outcome_bank_model_spec.rb +1 -1
  228. data/spec/models/compliance_check_type_bank_model_spec.rb +1 -1
  229. data/spec/models/compliance_decision_bank_model_spec.rb +1 -1
  230. data/spec/models/compliance_decision_state_bank_model_spec.rb +1 -1
  231. data/spec/models/compliance_decision_type_bank_model_spec.rb +1 -1
  232. data/spec/models/counterparty_address_bank_model_spec.rb +1 -1
  233. data/spec/models/counterparty_aliases_inner_bank_model_spec.rb +1 -1
  234. data/spec/models/counterparty_bank_model_spec.rb +1 -1
  235. data/spec/models/counterparty_list_bank_model_spec.rb +1 -1
  236. data/spec/models/counterparty_name_bank_model_spec.rb +1 -1
  237. data/spec/models/counterparty_state_bank_model_spec.rb +1 -1
  238. data/spec/models/counterparty_type_bank_model_spec.rb +1 -1
  239. data/spec/models/customer_address_bank_model_spec.rb +1 -1
  240. data/spec/models/customer_aliases_inner_bank_model_spec.rb +1 -1
  241. data/spec/models/customer_bank_model_spec.rb +1 -1
  242. data/spec/models/customer_list_bank_model_spec.rb +1 -1
  243. data/spec/models/customer_name_bank_model_spec.rb +1 -1
  244. data/spec/models/customer_state_bank_model_spec.rb +1 -1
  245. data/spec/models/customer_type_bank_model_spec.rb +1 -1
  246. data/spec/models/deposit_address_bank_model_spec.rb +1 -1
  247. data/spec/models/deposit_address_format_bank_model_spec.rb +1 -1
  248. data/spec/models/deposit_address_list_bank_model_spec.rb +1 -1
  249. data/spec/models/deposit_address_state_bank_model_spec.rb +1 -1
  250. data/spec/models/deposit_bank_account_account_details_inner_bank_model_spec.rb +1 -1
  251. data/spec/models/deposit_bank_account_bank_model_spec.rb +1 -1
  252. data/spec/models/deposit_bank_account_counterparty_address_bank_model_spec.rb +1 -1
  253. data/spec/models/deposit_bank_account_list_bank_model_spec.rb +1 -1
  254. data/spec/models/deposit_bank_account_routing_details_inner_bank_model_spec.rb +1 -1
  255. data/spec/models/deposit_bank_account_routing_number_type_bank_model_spec.rb +1 -1
  256. data/spec/models/deposit_bank_account_state_bank_model_spec.rb +1 -1
  257. data/spec/models/error_response_bank_model_spec.rb +1 -1
  258. data/spec/models/external_bank_account_balances_bank_model_spec.rb +1 -1
  259. data/spec/models/external_bank_account_bank_model_spec.rb +1 -1
  260. data/spec/models/external_bank_account_kind_bank_model_spec.rb +1 -1
  261. data/spec/models/external_bank_account_list_bank_model_spec.rb +1 -1
  262. data/spec/models/external_bank_account_pii_inner_addresses_inner_bank_model_spec.rb +1 -1
  263. data/spec/models/external_bank_account_pii_inner_bank_model_spec.rb +1 -1
  264. data/spec/models/external_bank_account_pii_inner_routing_details_inner_bank_model_spec.rb +1 -1
  265. data/spec/models/external_bank_account_state_bank_model_spec.rb +1 -1
  266. data/spec/models/external_wallet_bank_model_spec.rb +1 -1
  267. data/spec/models/external_wallet_environment_bank_model_spec.rb +1 -1
  268. data/spec/models/external_wallet_list_bank_model_spec.rb +1 -1
  269. data/spec/models/external_wallet_state_bank_model_spec.rb +1 -1
  270. data/spec/models/identification_number_bank_model_spec.rb +1 -1
  271. data/spec/models/identity_verification_bank_model_spec.rb +1 -1
  272. data/spec/models/identity_verification_list_bank_model_spec.rb +1 -1
  273. data/spec/models/identity_verification_method_bank_model_spec.rb +1 -1
  274. data/spec/models/identity_verification_outcome_bank_model_spec.rb +1 -1
  275. data/spec/models/identity_verification_persona_state_bank_model_spec.rb +1 -1
  276. data/spec/models/identity_verification_state_bank_model_spec.rb +1 -1
  277. data/spec/models/identity_verification_type_bank_model_spec.rb +1 -1
  278. data/spec/models/identity_verification_with_details_bank_model_spec.rb +1 -1
  279. data/spec/models/identity_verification_with_details_pii_address_bank_model_spec.rb +1 -1
  280. data/spec/models/identity_verification_with_details_pii_bank_model_spec.rb +1 -1
  281. data/spec/models/identity_verification_with_details_pii_name_bank_model_spec.rb +1 -1
  282. data/spec/models/invoice_bank_model_spec.rb +1 -1
  283. data/spec/models/invoice_list_bank_model_spec.rb +1 -1
  284. data/spec/models/patch_bank_bank_model_spec.rb +1 -1
  285. data/spec/models/patch_customer_bank_model_spec.rb +1 -1
  286. data/spec/models/patch_external_bank_account_bank_model_spec.rb +1 -1
  287. data/spec/models/payment_instruction_bank_model_spec.rb +1 -1
  288. data/spec/models/payment_instruction_list_bank_model_spec.rb +1 -1
  289. data/spec/models/post_account_bank_model_spec.rb +1 -1
  290. data/spec/models/post_bank_bank_model_spec.rb +13 -13
  291. data/spec/models/post_counterparty_address_bank_model_spec.rb +1 -1
  292. data/spec/models/post_counterparty_aliases_inner_bank_model_spec.rb +1 -1
  293. data/spec/models/post_counterparty_bank_model_spec.rb +3 -3
  294. data/spec/models/post_counterparty_name_bank_model_spec.rb +5 -5
  295. data/spec/models/post_customer_address_bank_model_spec.rb +1 -1
  296. data/spec/models/post_customer_bank_model_spec.rb +1 -1
  297. data/spec/models/post_customer_name_bank_model_spec.rb +1 -1
  298. data/spec/models/post_deposit_address_bank_model_spec.rb +1 -1
  299. data/spec/models/post_deposit_bank_account_bank_model_spec.rb +1 -1
  300. data/spec/models/post_external_bank_account_bank_model_spec.rb +6 -6
  301. data/spec/models/post_external_bank_account_counterparty_address_bank_model_spec.rb +1 -1
  302. data/spec/models/post_external_bank_account_counterparty_bank_account_bank_model_spec.rb +1 -1
  303. data/spec/models/post_external_bank_account_counterparty_name_bank_model_spec.rb +1 -1
  304. data/spec/models/post_external_wallet_bank_model_spec.rb +1 -1
  305. data/spec/models/post_fee_bank_model_spec.rb +1 -1
  306. data/spec/models/post_identification_number_bank_model_spec.rb +1 -1
  307. data/spec/models/post_identity_verification_address_bank_model_spec.rb +1 -1
  308. data/spec/models/post_identity_verification_bank_model_spec.rb +19 -19
  309. data/spec/models/post_identity_verification_name_bank_model_spec.rb +1 -1
  310. data/spec/models/post_invoice_bank_model_spec.rb +1 -1
  311. data/spec/models/post_payment_instruction_bank_model_spec.rb +1 -1
  312. data/spec/models/post_quote_bank_model_spec.rb +12 -8
  313. data/spec/models/post_trade_bank_model_spec.rb +1 -1
  314. data/spec/models/post_transfer_bank_model_spec.rb +23 -13
  315. data/spec/models/post_transfer_participant_bank_model_spec.rb +1 -1
  316. data/spec/models/post_workflow_bank_model_spec.rb +1 -1
  317. data/spec/models/quote_bank_model_spec.rb +1 -1
  318. data/spec/models/quote_list_bank_model_spec.rb +1 -1
  319. data/spec/models/quote_side_bank_model_spec.rb +1 -1
  320. data/spec/models/quote_type_bank_model_spec.rb +1 -1
  321. data/spec/models/symbol_price_bank_model_spec.rb +1 -1
  322. data/spec/models/trade_bank_model_spec.rb +1 -1
  323. data/spec/models/trade_failure_code_bank_model_spec.rb +1 -1
  324. data/spec/models/trade_list_bank_model_spec.rb +1 -1
  325. data/spec/models/trade_side_bank_model_spec.rb +1 -1
  326. data/spec/models/trade_state_bank_model_spec.rb +1 -1
  327. data/spec/models/trade_type_bank_model_spec.rb +1 -1
  328. data/spec/models/transfer_account_type_bank_model_spec.rb +1 -1
  329. data/spec/models/transfer_bank_model_spec.rb +1 -1
  330. data/spec/models/transfer_destination_account_bank_model_spec.rb +1 -1
  331. data/spec/models/transfer_failure_code_bank_model_spec.rb +1 -1
  332. data/spec/models/transfer_list_bank_model_spec.rb +1 -1
  333. data/spec/models/transfer_participant_bank_model_spec.rb +1 -1
  334. data/spec/models/transfer_side_bank_model_spec.rb +1 -1
  335. data/spec/models/transfer_source_account_bank_model_spec.rb +1 -1
  336. data/spec/models/transfer_state_bank_model_spec.rb +1 -1
  337. data/spec/models/transfer_type_bank_model_spec.rb +1 -1
  338. data/spec/models/workflow_bank_model_spec.rb +1 -1
  339. data/spec/models/workflow_state_bank_model_spec.rb +1 -1
  340. data/spec/models/workflow_type_bank_model_spec.rb +1 -1
  341. data/spec/models/workflow_with_details_all_of_bank_model_spec.rb +1 -1
  342. data/spec/models/workflow_with_details_bank_model_spec.rb +1 -1
  343. data/spec/models/workflows_list_bank_model_spec.rb +1 -1
  344. data/spec/spec_helper.rb +1 -1
  345. data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/byebug-11.1.3/gem_make.out +5 -5
  346. data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/jaro_winkler-1.5.6/gem_make.out +5 -5
  347. data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/psych-5.1.2/gem_make.out +5 -5
  348. data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/racc-1.8.1/gem_make.out +5 -5
  349. data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/stringio-3.1.1/gem_make.out +5 -5
  350. metadata +1 -1
@@ -3,7 +3,7 @@
3
3
 
4
4
  ## Cybrid API documentation Welcome to Cybrid, an all-in-one crypto platform that enables you to easily **build** and **launch** white-label crypto products or services. In these documents, you'll find details on how our REST API operates and generally how our platform functions. If you're looking for our UI SDK Widgets for Web or Mobile (iOS/Android), generated API clients, or demo applications, head over to our [Github repo](https://github.com/Cybrid-app). 💡 We recommend bookmarking the [Cybrid LinkTree](https://linktr.ee/cybridtechnologies) which contains many helpful links to platform resources. ## Getting Started This is Cybrid's public interactive API documentation, which allows you to fully test our APIs. If you'd like to use a different tool to exercise our APIs, you can download the [Open API 3.0 yaml](https://bank.production.cybrid.app/api/schema/v1/swagger.yaml) for import. If you're new to our APIs and the Cybrid Platform, follow the below guides to get set up and familiar with the platform: 1. [Introduction](https://docs.cybrid.xyz/docs/introduction) 2. [Platform Introduction](https://docs.cybrid.xyz/docs/how-is-cybrid-architected) 3. [Testing with Hosted Web Demo App](https://docs.cybrid.xyz/docs/testing-with-hosted-web-demo-app) In [Getting Started in the Cybrid Sandbox](https://docs.cybrid.xyz/docs/how-do-i-get-started-with-the-sandbox), we walk you through how to use the [Cybrid Sandbox](https://id.sandbox.cybrid.app/) to create a test bank and generate API keys. In [Getting Ready for Trading](https://kb.cybrid.xyz/getting-ready-for-trading), we walk through creating customers, customer identities, accounts, as well as executing quotes and trades. ## Working with the Cybrid Platform There are three primary ways you can interact with the Cybrid platform: 1. Directly via our RESTful API (this documentation) 2. Using our API clients available in a variety of languages ([Angular](https://github.com/Cybrid-app/cybrid-api-bank-angular), [Java](https://github.com/Cybrid-app/cybrid-api-bank-java), [Kotlin](https://github.com/Cybrid-app/cybrid-api-bank-kotlin), [Python](https://github.com/Cybrid-app/cybrid-api-bank-python), [Ruby](https://github.com/Cybrid-app/cybrid-api-bank-ruby), [Swift](https://github.com/Cybrid-app/cybrid-api-bank-swift) or [Typescript](https://github.com/Cybrid-app/cybrid-api-bank-typescript)) 3. Integrating a platform specific SDK ([Web](https://github.com/Cybrid-app/cybrid-sdk-web), [Android](https://github.com/Cybrid-app/cybrid-sdk-android), [iOS](https://github.com/Cybrid-app/cybrid-sdk-ios)) Our complete set of APIs allows you to manage resources across three distinct areas: your `Organization`, your `Banks` and your `Identities`. For most of your testing and interaction you'll be using the `Bank` API, which is where the majority of APIs reside. *The complete set of APIs can be found on the following pages:* | API | Description | |------------------------------------------------------------------|-------------------------------------------------------------| | [Organization API](https://organization.production.cybrid.app/api/schema/swagger-ui) | APIs to manage organizations | | [Bank API](https://bank.production.cybrid.app/api/schema/swagger-ui) | APIs to manage banks (and all downstream customer activity) | | [Identities API](https://id.production.cybrid.app/api/schema/swagger-ui) | APIs to manage organization and bank identities | For questions please contact [Support](mailto:support@cybrid.xyz) at any time for assistance, or contact the [Product Team](mailto:product@cybrid.xyz) for product suggestions. ## Authenticating with the API The Cybrid Platform uses OAuth 2.0 Bearer Tokens to authenticate requests to the platform. Credentials to create `Organization` and `Bank` tokens can be generated via the [Cybrid Sandbox](https://id.production.cybrid.app). Access tokens can be generated for a `Customer` as well via the [Cybrid IdP](https://id.production.cybrid.app) as well. An `Organization` access token applies broadly to the whole Organization and all of its `Banks`, whereas, a `Bank` access token is specific to an individual Bank. `Customer` tokens, similarly, are scoped to a specific customer in a bank. Both `Organization` and `Bank` tokens can be created using the OAuth Client Credential Grant flow. Each Organization and Bank has its own unique `Client ID` and `Secret` that allows for machine-to-machine authentication. A `Bank` can then generate `Customer` access tokens via API using our [Identities API](https://id.production.cybrid.app/api/schema/swagger-ui). <font color=\"orange\">**⚠️ Never share your Client ID or Secret publicly or in your source code repository.**</font> Your `Client ID` and `Secret` can be exchanged for a time-limited `Bearer Token` by interacting with the Cybrid Identity Provider or through interacting with the **Authorize** button in this document. The following curl command can be used to quickly generate a `Bearer Token` for use in testing the API or demo applications. ``` # Example request when using Bank credentials curl -X POST https://id.production.cybrid.app/oauth/token -d '{ \"grant_type\": \"client_credentials\", \"client_id\": \"<Your Client ID>\", \"client_secret\": \"<Your Secret>\", \"scope\": \"banks:read banks:write bank_applications:execute accounts:read accounts:execute counterparties:read counterparties:write counterparties:execute customers:read customers:write customers:execute prices:read quotes:execute quotes:read trades:execute trades:read transfers:execute transfers:read external_bank_accounts:read external_bank_accounts:write external_bank_accounts:execute external_wallets:read external_wallets:execute workflows:read workflows:execute deposit_addresses:read deposit_addresses:execute deposit_bank_accounts:read deposit_bank_accounts:execute invoices:read invoices:write invoices:execute identity_verifications:read identity_verifications:write identity_verifications:execute\" }' -H \"Content-Type: application/json\" # When using Organization credentials set `scope` to 'organizations:read organizations:write organization_applications:execute banks:read banks:write banks:execute bank_applications:execute users:read users:execute counterparties:read customers:read accounts:read prices:read quotes:execute quotes:read trades:execute trades:read transfers:read transfers:execute external_bank_accounts:read external_wallets:read workflows:read deposit_addresses:read deposit_bank_accounts:read invoices:read subscriptions:read subscriptions:write subscriptions:execute subscription_events:read subscription_events:execute identity_verifications:read' ``` <font color=\"orange\">**⚠️ Note: The above curl will create a bearer token with full scope access. Delete scopes if you'd like to restrict access.**</font> ## Authentication Scopes The Cybrid platform supports the use of scopes to control the level of access a token is limited to. Scopes do not grant access to resources; instead, they provide limits, in support of the least privilege principal. The following scopes are available on the platform and can be requested when generating either an Organization, Bank or Customer token. Generally speaking, the _Read_ scope is required to read and list resources, the _Write_ scope is required to update a resource and the _Execute_ scope is required to create a resource. | Resource | Read scope (Token Type) | Write scope (Token Type) | Execute scope (Token Type) | |-----------------------|------------------------------------------------------------|-----------------------------------------------|--------------------------------------------------| | Account | accounts:read (Organization, Bank, Customer) | | accounts:execute (Bank, Customer) | | Bank | banks:read (Organization, Bank) | banks:write (Organization, Bank) | banks:execute (Organization) | | Customer | customers:read (Organization, Bank, Customer) | customers:write (Bank, Customer) | customers:execute (Bank) | | Counterparty | counterparties:read (Organization, Bank, Customer) | counterparties:write (Bank, Customer) | counterparties:execute (Bank) | | Deposit Address | deposit_addresses:read (Organization, Bank, Customer) | deposit_addresses:write (Bank, Customer) | deposit_addresses:execute (Bank, Customer) | | External Bank Account | external_bank_accounts:read (Organization, Bank, Customer) | external_bank_accounts:write (Bank, Customer) | external_bank_accounts:execute (Bank, Customer) | | External Wallet | external_wallet:read (Organization, Bank, Customer) | | external_wallet:execute (Bank, Customer) | | Organization | organizations:read (Organization) | organizations:write (Organization) | | | User | users:read (Organization) | | users:execute (Organization) | | Price | prices:read (Bank, Customer) | | | | Quote | quotes:read (Organization, Bank, Customer) | | quotes:execute (Organization, Bank, Customer) | | Trade | trades:read (Organization, Bank, Customer) | | trades:execute (Organization, Bank, Customer) | | Transfer | transfers:read (Organization, Bank, Customer) | | transfers:execute (Organization, Bank, Customer) | | Workflow | workflows:read (Organization, Bank, Customer) | | workflows:execute (Bank, Customer) | | Invoice | invoices:read (Organization, Bank, Customer) | invoices:write (Bank, Customer) | invoices:execute (Bank, Customer) | ## Available Endpoints The available APIs for the [Identity](https://id.production.cybrid.app/api/schema/swagger-ui), [Organization](https://organization.production.cybrid.app/api/schema/swagger-ui) and [Bank](https://bank.production.cybrid.app/api/schema/swagger-ui) API services are listed below: | API Service | Model | API Endpoint Path | Description | |--------------|----------------------|--------------------------------|---------------------------------------------------------------------------------------------------| | Identity | Bank | /api/bank_applications | Create and list banks | | Identity | CustomerToken | /api/customer_tokens | Create customer JWT access tokens | | Identity | Organization | /api/organization_applications | Create and list organizations | | Identity | Organization | /api/users | Create and list organization users | | Organization | Organization | /api/organizations | APIs to retrieve and update organization name | | Bank | Account | /api/accounts | Create and list accounts, which hold a specific asset for a customers | | Bank | Asset | /api/assets | Get a list of assets supported by the platform (ex: BTC, ETH) | | Bank | Bank | /api/banks | Create, update and list banks, the parent to customers, accounts, etc | | Bank | Customer | /api/customers | Create and list customers | | Bank | Counterparty | /api/counterparties | Create and list counterparties | | Bank | DepositAddress | /api/deposit_addresses | Create, get and list deposit addresses | | Bank | ExternalBankAccount | /api/external_bank_accounts | Create, get and list external bank accounts, which connect customer bank accounts to the platform | | Bank | ExternalWallet | /api/external_wallets | Create, get, list and delete external wallets, which connect customer wallets to the platform | | Bank | IdentityVerification | /api/identity_verifications | Create and list identity verifications, which are performed on customers for KYC | | Bank | Invoice | /api/invoices | Create, get, cancel and list invoices | | Bank | PaymentInstruction | /api/payment_instructions | Create, get and list payment instructions for invoices | | Bank | Price | /api/prices | Get the current prices for assets on the platform | | Bank | Quote | /api/quotes | Create and list quotes, which are required to execute trades | | Bank | Symbol | /api/symbols | Get a list of symbols supported for trade (ex: BTC-USD) | | Bank | Trade | /api/trades | Create and list trades, which buy or sell cryptocurrency | | Bank | Transfer | /api/transfers | Create, get and list transfers (e.g., funding, book) | | Bank | Workflow | /api/workflows | Create, get and list workflows | ## Understanding Object Models & Endpoints **Organizations** An `Organization` is meant to represent the organization partnering with Cybrid to use our platform. An `Organization` typically does not directly interact with `customers`. Instead, an Organization has one or more `banks`, which encompass the financial service offerings of the platform. **Banks** A `Bank` is owned by an `Organization` and can be thought of as an environment or container for `customers` and product offerings. Banks are created in either `Sandbox` or `Production` mode, where `Sandbox` is the environment that you would test, prototype and build in prior to moving to `Production`. An `Organization` can have multiple `banks`, in either `Sandbox` or `Production` environments. A `Sandbox Bank` will be backed by stubbed data and process flows. For instance, funding source transfer processes as well as trades will be simulated rather than performed, however asset prices are representative of real-world values. You have an unlimited amount of simulated fiat currency for testing purposes. **Customers** `Customers` represent your banking users on the platform. At present, we offer support for `Individuals` as Customers. `Customers` must be verified (i.e., KYC'd) in our system before they can play any part on the platform, which means they must have an associated and a passing `Identity Verification`. See the Identity Verifications section for more details on how a customer can be verified. `Customers` must also have an `Account` to be able to transact, in the desired asset class. See the Accounts APIs for more details on setting up accounts for the customer.
5
5
 
6
- The version of the OpenAPI document: v0.121.11
6
+ The version of the OpenAPI document: v0.121.12
7
7
  Contact: support@cybrid.app
8
8
  Generated by: https://openapi-generator.tech
9
9
  OpenAPI Generator version: 6.0.0
@@ -14,24 +14,24 @@ require 'date'
14
14
  require 'time'
15
15
 
16
16
  module CybridApiBank
17
- # The customer's address; required when method is set to 'attested'.
17
+ # The customer's address. Required when type is kyc and method is attested, type is bank_account and method is attested, or type is bank_account and method is attested_ownership.
18
18
  class PostIdentityVerificationAddressBankModel
19
- # The first line of the address.
19
+ # The first line of the address. Required when type is kyc and method is attested, type is bank_account and method is attested, or type is bank_account and method is attested_ownership.
20
20
  attr_accessor :street
21
21
 
22
- # The optional second line of the address.
22
+ # The optional second line of the address. Optional when type is kyc and method is attested, type is bank_account and method is attested, or type is bank_account and method is attested_ownership.
23
23
  attr_accessor :street2
24
24
 
25
- # The city of the address.
25
+ # The city of the address. Required when type is kyc and method is attested, type is bank_account and method is attested, or type is bank_account and method is attested_ownership.
26
26
  attr_accessor :city
27
27
 
28
- # The provide/state/region of the address; not used by all countries.
28
+ # The ISO 3166-2 subdivision code of the address; not used by all countries. Optional when type is kyc and method is attested, type is bank_account and method is attested, or type is bank_account and method is attested_ownership.
29
29
  attr_accessor :subdivision
30
30
 
31
- # The postal/post/zip code of the address; not used by all countries.
31
+ # The postal/post/zip code of the address; not used by all countries. Optional when type is kyc and method is attested, type is bank_account and method is attested, or type is bank_account and method is attested_ownership.
32
32
  attr_accessor :postal_code
33
33
 
34
- # The ISO 3166 country 2-Alpha country code of the address.
34
+ # The ISO 3166 country 2-Alpha country code of the address. Required when type is kyc and method is attested, type is bank_account and method is attested, or type is bank_account and method is attested_ownership.
35
35
  attr_accessor :country_code
36
36
 
37
37
  # Attribute mapping from ruby-style variable name to JSON key.
@@ -66,9 +66,12 @@ module CybridApiBank
66
66
  # List of attributes with nullable: true
67
67
  def self.openapi_nullable
68
68
  Set.new([
69
+ :'street',
69
70
  :'street2',
71
+ :'city',
70
72
  :'subdivision',
71
73
  :'postal_code',
74
+ :'country_code'
72
75
  ])
73
76
  end
74
77
 
@@ -116,58 +119,15 @@ module CybridApiBank
116
119
  # @return Array for valid properties with the reasons
117
120
  def list_invalid_properties
118
121
  invalid_properties = Array.new
119
- if @street.nil?
120
- invalid_properties.push('invalid value for "street", street cannot be nil.')
121
- end
122
-
123
- if @city.nil?
124
- invalid_properties.push('invalid value for "city", city cannot be nil.')
125
- end
126
-
127
- if @country_code.nil?
128
- invalid_properties.push('invalid value for "country_code", country_code cannot be nil.')
129
- end
130
-
131
- if @country_code.to_s.length > 2
132
- invalid_properties.push('invalid value for "country_code", the character length must be smaller than or equal to 2.')
133
- end
134
-
135
- if @country_code.to_s.length < 2
136
- invalid_properties.push('invalid value for "country_code", the character length must be great than or equal to 2.')
137
- end
138
-
139
122
  invalid_properties
140
123
  end
141
124
 
142
125
  # Check to see if the all the properties in the model are valid
143
126
  # @return true if the model is valid
144
127
  def valid?
145
- return false if @street.nil?
146
- return false if @city.nil?
147
- return false if @country_code.nil?
148
- return false if @country_code.to_s.length > 2
149
- return false if @country_code.to_s.length < 2
150
128
  true
151
129
  end
152
130
 
153
- # Custom attribute writer method with validation
154
- # @param [Object] country_code Value to be assigned
155
- def country_code=(country_code)
156
- if country_code.nil?
157
- fail ArgumentError, 'country_code cannot be nil'
158
- end
159
-
160
- if country_code.to_s.length > 2
161
- fail ArgumentError, 'invalid value for "country_code", the character length must be smaller than or equal to 2.'
162
- end
163
-
164
- if country_code.to_s.length < 2
165
- fail ArgumentError, 'invalid value for "country_code", the character length must be great than or equal to 2.'
166
- end
167
-
168
- @country_code = country_code
169
- end
170
-
171
131
  # Checks equality by comparing each attribute.
172
132
  # @param [Object] Object to be compared
173
133
  def ==(o)
@@ -3,7 +3,7 @@
3
3
 
4
4
  ## Cybrid API documentation Welcome to Cybrid, an all-in-one crypto platform that enables you to easily **build** and **launch** white-label crypto products or services. In these documents, you'll find details on how our REST API operates and generally how our platform functions. If you're looking for our UI SDK Widgets for Web or Mobile (iOS/Android), generated API clients, or demo applications, head over to our [Github repo](https://github.com/Cybrid-app). 💡 We recommend bookmarking the [Cybrid LinkTree](https://linktr.ee/cybridtechnologies) which contains many helpful links to platform resources. ## Getting Started This is Cybrid's public interactive API documentation, which allows you to fully test our APIs. If you'd like to use a different tool to exercise our APIs, you can download the [Open API 3.0 yaml](https://bank.production.cybrid.app/api/schema/v1/swagger.yaml) for import. If you're new to our APIs and the Cybrid Platform, follow the below guides to get set up and familiar with the platform: 1. [Introduction](https://docs.cybrid.xyz/docs/introduction) 2. [Platform Introduction](https://docs.cybrid.xyz/docs/how-is-cybrid-architected) 3. [Testing with Hosted Web Demo App](https://docs.cybrid.xyz/docs/testing-with-hosted-web-demo-app) In [Getting Started in the Cybrid Sandbox](https://docs.cybrid.xyz/docs/how-do-i-get-started-with-the-sandbox), we walk you through how to use the [Cybrid Sandbox](https://id.sandbox.cybrid.app/) to create a test bank and generate API keys. In [Getting Ready for Trading](https://kb.cybrid.xyz/getting-ready-for-trading), we walk through creating customers, customer identities, accounts, as well as executing quotes and trades. ## Working with the Cybrid Platform There are three primary ways you can interact with the Cybrid platform: 1. Directly via our RESTful API (this documentation) 2. Using our API clients available in a variety of languages ([Angular](https://github.com/Cybrid-app/cybrid-api-bank-angular), [Java](https://github.com/Cybrid-app/cybrid-api-bank-java), [Kotlin](https://github.com/Cybrid-app/cybrid-api-bank-kotlin), [Python](https://github.com/Cybrid-app/cybrid-api-bank-python), [Ruby](https://github.com/Cybrid-app/cybrid-api-bank-ruby), [Swift](https://github.com/Cybrid-app/cybrid-api-bank-swift) or [Typescript](https://github.com/Cybrid-app/cybrid-api-bank-typescript)) 3. Integrating a platform specific SDK ([Web](https://github.com/Cybrid-app/cybrid-sdk-web), [Android](https://github.com/Cybrid-app/cybrid-sdk-android), [iOS](https://github.com/Cybrid-app/cybrid-sdk-ios)) Our complete set of APIs allows you to manage resources across three distinct areas: your `Organization`, your `Banks` and your `Identities`. For most of your testing and interaction you'll be using the `Bank` API, which is where the majority of APIs reside. *The complete set of APIs can be found on the following pages:* | API | Description | |------------------------------------------------------------------|-------------------------------------------------------------| | [Organization API](https://organization.production.cybrid.app/api/schema/swagger-ui) | APIs to manage organizations | | [Bank API](https://bank.production.cybrid.app/api/schema/swagger-ui) | APIs to manage banks (and all downstream customer activity) | | [Identities API](https://id.production.cybrid.app/api/schema/swagger-ui) | APIs to manage organization and bank identities | For questions please contact [Support](mailto:support@cybrid.xyz) at any time for assistance, or contact the [Product Team](mailto:product@cybrid.xyz) for product suggestions. ## Authenticating with the API The Cybrid Platform uses OAuth 2.0 Bearer Tokens to authenticate requests to the platform. Credentials to create `Organization` and `Bank` tokens can be generated via the [Cybrid Sandbox](https://id.production.cybrid.app). Access tokens can be generated for a `Customer` as well via the [Cybrid IdP](https://id.production.cybrid.app) as well. An `Organization` access token applies broadly to the whole Organization and all of its `Banks`, whereas, a `Bank` access token is specific to an individual Bank. `Customer` tokens, similarly, are scoped to a specific customer in a bank. Both `Organization` and `Bank` tokens can be created using the OAuth Client Credential Grant flow. Each Organization and Bank has its own unique `Client ID` and `Secret` that allows for machine-to-machine authentication. A `Bank` can then generate `Customer` access tokens via API using our [Identities API](https://id.production.cybrid.app/api/schema/swagger-ui). <font color=\"orange\">**⚠️ Never share your Client ID or Secret publicly or in your source code repository.**</font> Your `Client ID` and `Secret` can be exchanged for a time-limited `Bearer Token` by interacting with the Cybrid Identity Provider or through interacting with the **Authorize** button in this document. The following curl command can be used to quickly generate a `Bearer Token` for use in testing the API or demo applications. ``` # Example request when using Bank credentials curl -X POST https://id.production.cybrid.app/oauth/token -d '{ \"grant_type\": \"client_credentials\", \"client_id\": \"<Your Client ID>\", \"client_secret\": \"<Your Secret>\", \"scope\": \"banks:read banks:write bank_applications:execute accounts:read accounts:execute counterparties:read counterparties:write counterparties:execute customers:read customers:write customers:execute prices:read quotes:execute quotes:read trades:execute trades:read transfers:execute transfers:read external_bank_accounts:read external_bank_accounts:write external_bank_accounts:execute external_wallets:read external_wallets:execute workflows:read workflows:execute deposit_addresses:read deposit_addresses:execute deposit_bank_accounts:read deposit_bank_accounts:execute invoices:read invoices:write invoices:execute identity_verifications:read identity_verifications:write identity_verifications:execute\" }' -H \"Content-Type: application/json\" # When using Organization credentials set `scope` to 'organizations:read organizations:write organization_applications:execute banks:read banks:write banks:execute bank_applications:execute users:read users:execute counterparties:read customers:read accounts:read prices:read quotes:execute quotes:read trades:execute trades:read transfers:read transfers:execute external_bank_accounts:read external_wallets:read workflows:read deposit_addresses:read deposit_bank_accounts:read invoices:read subscriptions:read subscriptions:write subscriptions:execute subscription_events:read subscription_events:execute identity_verifications:read' ``` <font color=\"orange\">**⚠️ Note: The above curl will create a bearer token with full scope access. Delete scopes if you'd like to restrict access.**</font> ## Authentication Scopes The Cybrid platform supports the use of scopes to control the level of access a token is limited to. Scopes do not grant access to resources; instead, they provide limits, in support of the least privilege principal. The following scopes are available on the platform and can be requested when generating either an Organization, Bank or Customer token. Generally speaking, the _Read_ scope is required to read and list resources, the _Write_ scope is required to update a resource and the _Execute_ scope is required to create a resource. | Resource | Read scope (Token Type) | Write scope (Token Type) | Execute scope (Token Type) | |-----------------------|------------------------------------------------------------|-----------------------------------------------|--------------------------------------------------| | Account | accounts:read (Organization, Bank, Customer) | | accounts:execute (Bank, Customer) | | Bank | banks:read (Organization, Bank) | banks:write (Organization, Bank) | banks:execute (Organization) | | Customer | customers:read (Organization, Bank, Customer) | customers:write (Bank, Customer) | customers:execute (Bank) | | Counterparty | counterparties:read (Organization, Bank, Customer) | counterparties:write (Bank, Customer) | counterparties:execute (Bank) | | Deposit Address | deposit_addresses:read (Organization, Bank, Customer) | deposit_addresses:write (Bank, Customer) | deposit_addresses:execute (Bank, Customer) | | External Bank Account | external_bank_accounts:read (Organization, Bank, Customer) | external_bank_accounts:write (Bank, Customer) | external_bank_accounts:execute (Bank, Customer) | | External Wallet | external_wallet:read (Organization, Bank, Customer) | | external_wallet:execute (Bank, Customer) | | Organization | organizations:read (Organization) | organizations:write (Organization) | | | User | users:read (Organization) | | users:execute (Organization) | | Price | prices:read (Bank, Customer) | | | | Quote | quotes:read (Organization, Bank, Customer) | | quotes:execute (Organization, Bank, Customer) | | Trade | trades:read (Organization, Bank, Customer) | | trades:execute (Organization, Bank, Customer) | | Transfer | transfers:read (Organization, Bank, Customer) | | transfers:execute (Organization, Bank, Customer) | | Workflow | workflows:read (Organization, Bank, Customer) | | workflows:execute (Bank, Customer) | | Invoice | invoices:read (Organization, Bank, Customer) | invoices:write (Bank, Customer) | invoices:execute (Bank, Customer) | ## Available Endpoints The available APIs for the [Identity](https://id.production.cybrid.app/api/schema/swagger-ui), [Organization](https://organization.production.cybrid.app/api/schema/swagger-ui) and [Bank](https://bank.production.cybrid.app/api/schema/swagger-ui) API services are listed below: | API Service | Model | API Endpoint Path | Description | |--------------|----------------------|--------------------------------|---------------------------------------------------------------------------------------------------| | Identity | Bank | /api/bank_applications | Create and list banks | | Identity | CustomerToken | /api/customer_tokens | Create customer JWT access tokens | | Identity | Organization | /api/organization_applications | Create and list organizations | | Identity | Organization | /api/users | Create and list organization users | | Organization | Organization | /api/organizations | APIs to retrieve and update organization name | | Bank | Account | /api/accounts | Create and list accounts, which hold a specific asset for a customers | | Bank | Asset | /api/assets | Get a list of assets supported by the platform (ex: BTC, ETH) | | Bank | Bank | /api/banks | Create, update and list banks, the parent to customers, accounts, etc | | Bank | Customer | /api/customers | Create and list customers | | Bank | Counterparty | /api/counterparties | Create and list counterparties | | Bank | DepositAddress | /api/deposit_addresses | Create, get and list deposit addresses | | Bank | ExternalBankAccount | /api/external_bank_accounts | Create, get and list external bank accounts, which connect customer bank accounts to the platform | | Bank | ExternalWallet | /api/external_wallets | Create, get, list and delete external wallets, which connect customer wallets to the platform | | Bank | IdentityVerification | /api/identity_verifications | Create and list identity verifications, which are performed on customers for KYC | | Bank | Invoice | /api/invoices | Create, get, cancel and list invoices | | Bank | PaymentInstruction | /api/payment_instructions | Create, get and list payment instructions for invoices | | Bank | Price | /api/prices | Get the current prices for assets on the platform | | Bank | Quote | /api/quotes | Create and list quotes, which are required to execute trades | | Bank | Symbol | /api/symbols | Get a list of symbols supported for trade (ex: BTC-USD) | | Bank | Trade | /api/trades | Create and list trades, which buy or sell cryptocurrency | | Bank | Transfer | /api/transfers | Create, get and list transfers (e.g., funding, book) | | Bank | Workflow | /api/workflows | Create, get and list workflows | ## Understanding Object Models & Endpoints **Organizations** An `Organization` is meant to represent the organization partnering with Cybrid to use our platform. An `Organization` typically does not directly interact with `customers`. Instead, an Organization has one or more `banks`, which encompass the financial service offerings of the platform. **Banks** A `Bank` is owned by an `Organization` and can be thought of as an environment or container for `customers` and product offerings. Banks are created in either `Sandbox` or `Production` mode, where `Sandbox` is the environment that you would test, prototype and build in prior to moving to `Production`. An `Organization` can have multiple `banks`, in either `Sandbox` or `Production` environments. A `Sandbox Bank` will be backed by stubbed data and process flows. For instance, funding source transfer processes as well as trades will be simulated rather than performed, however asset prices are representative of real-world values. You have an unlimited amount of simulated fiat currency for testing purposes. **Customers** `Customers` represent your banking users on the platform. At present, we offer support for `Individuals` as Customers. `Customers` must be verified (i.e., KYC'd) in our system before they can play any part on the platform, which means they must have an associated and a passing `Identity Verification`. See the Identity Verifications section for more details on how a customer can be verified. `Customers` must also have an `Account` to be able to transact, in the desired asset class. See the Accounts APIs for more details on setting up accounts for the customer.
5
5
 
6
- The version of the OpenAPI document: v0.121.11
6
+ The version of the OpenAPI document: v0.121.12
7
7
  Contact: support@cybrid.app
8
8
  Generated by: https://openapi-generator.tech
9
9
  OpenAPI Generator version: 6.0.0
@@ -14,43 +14,44 @@ require 'date'
14
14
  require 'time'
15
15
 
16
16
  module CybridApiBank
17
+ # Request body for identity verification creation.
17
18
  class PostIdentityVerificationBankModel
18
19
  # The type of identity verification.
19
20
  attr_accessor :type
20
21
 
21
- # The identity verification method.
22
- attr_accessor :method
23
-
24
22
  # The customer's identifier.
25
23
  attr_accessor :customer_guid
26
24
 
27
- # The counterparty's identifier.
25
+ # The optional expected behaviour to simulate.
26
+ attr_accessor :expected_behaviours
27
+
28
+ # The identity verification method. Required when type is counterparty, type is kyc, or type is bank_account.
29
+ attr_accessor :method
30
+
31
+ # The counterparty's identifier. Required when type is counterparty.
28
32
  attr_accessor :counterparty_guid
29
33
 
30
- # The ISO 3166 country 2-Alpha country the customer is being verified in; required when method is set to 'id_and_selfie'. If not present, will default to the Bank's configured country code.
34
+ # The ISO 3166 country 2-Alpha country the customer is being verified in. If not present, will default to the Bank's configured country code. Optional when type is kyc and method is id_and_selfie, type is kyc and method is tax_id_and_selfie, or type is kyc and method is business_registration.
31
35
  attr_accessor :country_code
32
36
 
33
37
  attr_accessor :name
34
38
 
35
39
  attr_accessor :address
36
40
 
37
- # The customer's date of birth; required when type is set to 'kyc' and method is set to 'attested'.
41
+ # The customer's date of birth. Required when type is kyc and method is attested.
38
42
  attr_accessor :date_of_birth
39
43
 
40
- # The customer's phone number.
41
- attr_accessor :phone_number
42
-
43
- # The customer's email address.
44
- attr_accessor :email_address
45
-
46
- # The customer's identification numbers; required when type is set to 'kyc' and method is set to 'attested'.
44
+ # The customer's identification numbers. Required when type is kyc and method is attested.
47
45
  attr_accessor :identification_numbers
48
46
 
49
- # The external bank account's identifier. Required for 'bank_account' type.
47
+ # The external bank account's identifier. Required when type is bank_account.
50
48
  attr_accessor :external_bank_account_guid
51
49
 
52
- # The optional expected behaviour to simulate.
53
- attr_accessor :expected_behaviours
50
+ # The customer's phone number. Optional when type is bank_account and method is attested or type is bank_account and method is attested_ownership.
51
+ attr_accessor :phone_number
52
+
53
+ # The customer's email address. Optional when type is bank_account and method is attested or type is bank_account and method is attested_ownership.
54
+ attr_accessor :email_address
54
55
 
55
56
  class EnumAttributeValidator
56
57
  attr_reader :datatype
@@ -78,18 +79,18 @@ module CybridApiBank
78
79
  def self.attribute_map
79
80
  {
80
81
  :'type' => :'type',
81
- :'method' => :'method',
82
82
  :'customer_guid' => :'customer_guid',
83
+ :'expected_behaviours' => :'expected_behaviours',
84
+ :'method' => :'method',
83
85
  :'counterparty_guid' => :'counterparty_guid',
84
86
  :'country_code' => :'country_code',
85
87
  :'name' => :'name',
86
88
  :'address' => :'address',
87
89
  :'date_of_birth' => :'date_of_birth',
88
- :'phone_number' => :'phone_number',
89
- :'email_address' => :'email_address',
90
90
  :'identification_numbers' => :'identification_numbers',
91
91
  :'external_bank_account_guid' => :'external_bank_account_guid',
92
- :'expected_behaviours' => :'expected_behaviours'
92
+ :'phone_number' => :'phone_number',
93
+ :'email_address' => :'email_address'
93
94
  }
94
95
  end
95
96
 
@@ -102,18 +103,18 @@ module CybridApiBank
102
103
  def self.openapi_types
103
104
  {
104
105
  :'type' => :'String',
105
- :'method' => :'String',
106
106
  :'customer_guid' => :'String',
107
+ :'expected_behaviours' => :'Array<String>',
108
+ :'method' => :'String',
107
109
  :'counterparty_guid' => :'String',
108
110
  :'country_code' => :'String',
109
111
  :'name' => :'PostIdentityVerificationNameBankModel',
110
112
  :'address' => :'PostIdentityVerificationAddressBankModel',
111
113
  :'date_of_birth' => :'Date',
112
- :'phone_number' => :'String',
113
- :'email_address' => :'String',
114
114
  :'identification_numbers' => :'Array<PostIdentificationNumberBankModel>',
115
115
  :'external_bank_account_guid' => :'String',
116
- :'expected_behaviours' => :'Array<String>'
116
+ :'phone_number' => :'String',
117
+ :'email_address' => :'String'
117
118
  }
118
119
  end
119
120
 
@@ -121,15 +122,17 @@ module CybridApiBank
121
122
  def self.openapi_nullable
122
123
  Set.new([
123
124
  :'customer_guid',
125
+ :'expected_behaviours',
126
+ :'method',
124
127
  :'counterparty_guid',
125
128
  :'country_code',
126
129
  :'name',
127
130
  :'address',
128
131
  :'date_of_birth',
129
- :'phone_number',
130
- :'email_address',
131
132
  :'identification_numbers',
132
133
  :'external_bank_account_guid',
134
+ :'phone_number',
135
+ :'email_address'
133
136
  ])
134
137
  end
135
138
 
@@ -152,14 +155,20 @@ module CybridApiBank
152
155
  self.type = attributes[:'type']
153
156
  end
154
157
 
155
- if attributes.key?(:'method')
156
- self.method = attributes[:'method']
157
- end
158
-
159
158
  if attributes.key?(:'customer_guid')
160
159
  self.customer_guid = attributes[:'customer_guid']
161
160
  end
162
161
 
162
+ if attributes.key?(:'expected_behaviours')
163
+ if (value = attributes[:'expected_behaviours']).is_a?(Array)
164
+ self.expected_behaviours = value
165
+ end
166
+ end
167
+
168
+ if attributes.key?(:'method')
169
+ self.method = attributes[:'method']
170
+ end
171
+
163
172
  if attributes.key?(:'counterparty_guid')
164
173
  self.counterparty_guid = attributes[:'counterparty_guid']
165
174
  end
@@ -180,14 +189,6 @@ module CybridApiBank
180
189
  self.date_of_birth = attributes[:'date_of_birth']
181
190
  end
182
191
 
183
- if attributes.key?(:'phone_number')
184
- self.phone_number = attributes[:'phone_number']
185
- end
186
-
187
- if attributes.key?(:'email_address')
188
- self.email_address = attributes[:'email_address']
189
- end
190
-
191
192
  if attributes.key?(:'identification_numbers')
192
193
  if (value = attributes[:'identification_numbers']).is_a?(Array)
193
194
  self.identification_numbers = value
@@ -198,10 +199,12 @@ module CybridApiBank
198
199
  self.external_bank_account_guid = attributes[:'external_bank_account_guid']
199
200
  end
200
201
 
201
- if attributes.key?(:'expected_behaviours')
202
- if (value = attributes[:'expected_behaviours']).is_a?(Array)
203
- self.expected_behaviours = value
204
- end
202
+ if attributes.key?(:'phone_number')
203
+ self.phone_number = attributes[:'phone_number']
204
+ end
205
+
206
+ if attributes.key?(:'email_address')
207
+ self.email_address = attributes[:'email_address']
205
208
  end
206
209
  end
207
210
 
@@ -213,40 +216,20 @@ module CybridApiBank
213
216
  invalid_properties.push('invalid value for "type", type cannot be nil.')
214
217
  end
215
218
 
216
- if @method.nil?
217
- invalid_properties.push('invalid value for "method", method cannot be nil.')
218
- end
219
-
220
219
  if !@customer_guid.nil? && @customer_guid.to_s.length > 32
221
220
  invalid_properties.push('invalid value for "customer_guid", the character length must be smaller than or equal to 32.')
222
221
  end
223
222
 
224
- if !@customer_guid.nil? && @customer_guid.to_s.length < 32
225
- invalid_properties.push('invalid value for "customer_guid", the character length must be great than or equal to 32.')
226
- end
227
-
228
- if !@counterparty_guid.nil? && @counterparty_guid.to_s.length > 32
229
- invalid_properties.push('invalid value for "counterparty_guid", the character length must be smaller than or equal to 32.')
230
- end
231
-
232
- if !@counterparty_guid.nil? && @counterparty_guid.to_s.length < 32
233
- invalid_properties.push('invalid value for "counterparty_guid", the character length must be great than or equal to 32.')
223
+ if !@expected_behaviours.nil? && @expected_behaviours.length > 50
224
+ invalid_properties.push('invalid value for "expected_behaviours", number of items must be less than or equal to 50.')
234
225
  end
235
226
 
236
- if !@country_code.nil? && @country_code.to_s.length > 2
237
- invalid_properties.push('invalid value for "country_code", the character length must be smaller than or equal to 2.')
227
+ if !@identification_numbers.nil? && @identification_numbers.length > 10
228
+ invalid_properties.push('invalid value for "identification_numbers", number of items must be less than or equal to 10.')
238
229
  end
239
230
 
240
- if !@country_code.nil? && @country_code.to_s.length < 2
241
- invalid_properties.push('invalid value for "country_code", the character length must be great than or equal to 2.')
242
- end
243
-
244
- if !@external_bank_account_guid.nil? && @external_bank_account_guid.to_s.length > 32
245
- invalid_properties.push('invalid value for "external_bank_account_guid", the character length must be smaller than or equal to 32.')
246
- end
247
-
248
- if !@external_bank_account_guid.nil? && @external_bank_account_guid.to_s.length < 32
249
- invalid_properties.push('invalid value for "external_bank_account_guid", the character length must be great than or equal to 32.')
231
+ if !@identification_numbers.nil? && @identification_numbers.length < 1
232
+ invalid_properties.push('invalid value for "identification_numbers", number of items must be greater than or equal to 1.')
250
233
  end
251
234
 
252
235
  invalid_properties
@@ -258,17 +241,12 @@ module CybridApiBank
258
241
  return false if @type.nil?
259
242
  type_validator = EnumAttributeValidator.new('String', ["kyc", "bank_account", "counterparty"])
260
243
  return false unless type_validator.valid?(@type)
261
- return false if @method.nil?
262
- method_validator = EnumAttributeValidator.new('String', ["attested", "document_submission", "id_and_selfie", "tax_id_and_selfie", "business_registration", "plaid_identity_match", "attested_ownership", "account_ownership", "watchlists"])
263
- return false unless method_validator.valid?(@method)
264
244
  return false if !@customer_guid.nil? && @customer_guid.to_s.length > 32
265
- return false if !@customer_guid.nil? && @customer_guid.to_s.length < 32
266
- return false if !@counterparty_guid.nil? && @counterparty_guid.to_s.length > 32
267
- return false if !@counterparty_guid.nil? && @counterparty_guid.to_s.length < 32
268
- return false if !@country_code.nil? && @country_code.to_s.length > 2
269
- return false if !@country_code.nil? && @country_code.to_s.length < 2
270
- return false if !@external_bank_account_guid.nil? && @external_bank_account_guid.to_s.length > 32
271
- return false if !@external_bank_account_guid.nil? && @external_bank_account_guid.to_s.length < 32
245
+ return false if !@expected_behaviours.nil? && @expected_behaviours.length > 50
246
+ method_validator = EnumAttributeValidator.new('String', ["watchlists", "attested", "document_submission", "id_and_selfie", "tax_id_and_selfie", "business_registration", "plaid_identity_match", "attested_ownership", "account_ownership"])
247
+ return false unless method_validator.valid?(@method)
248
+ return false if !@identification_numbers.nil? && @identification_numbers.length > 10
249
+ return false if !@identification_numbers.nil? && @identification_numbers.length < 1
272
250
  true
273
251
  end
274
252
 
@@ -282,16 +260,6 @@ module CybridApiBank
282
260
  @type = type
283
261
  end
284
262
 
285
- # Custom attribute writer method checking allowed values (enum).
286
- # @param [Object] method Object to be assigned
287
- def method=(method)
288
- validator = EnumAttributeValidator.new('String', ["attested", "document_submission", "id_and_selfie", "tax_id_and_selfie", "business_registration", "plaid_identity_match", "attested_ownership", "account_ownership", "watchlists"])
289
- unless validator.valid?(method)
290
- fail ArgumentError, "invalid value for \"method\", must be one of #{validator.allowable_values}."
291
- end
292
- @method = method
293
- end
294
-
295
263
  # Custom attribute writer method with validation
296
264
  # @param [Object] customer_guid Value to be assigned
297
265
  def customer_guid=(customer_guid)
@@ -299,53 +267,31 @@ module CybridApiBank
299
267
  fail ArgumentError, 'invalid value for "customer_guid", the character length must be smaller than or equal to 32.'
300
268
  end
301
269
 
302
- if !customer_guid.nil? && customer_guid.to_s.length < 32
303
- fail ArgumentError, 'invalid value for "customer_guid", the character length must be great than or equal to 32.'
304
- end
305
-
306
270
  @customer_guid = customer_guid
307
271
  end
308
272
 
309
- # Custom attribute writer method with validation
310
- # @param [Object] counterparty_guid Value to be assigned
311
- def counterparty_guid=(counterparty_guid)
312
- if !counterparty_guid.nil? && counterparty_guid.to_s.length > 32
313
- fail ArgumentError, 'invalid value for "counterparty_guid", the character length must be smaller than or equal to 32.'
314
- end
315
-
316
- if !counterparty_guid.nil? && counterparty_guid.to_s.length < 32
317
- fail ArgumentError, 'invalid value for "counterparty_guid", the character length must be great than or equal to 32.'
318
- end
319
-
320
- @counterparty_guid = counterparty_guid
321
- end
322
-
323
- # Custom attribute writer method with validation
324
- # @param [Object] country_code Value to be assigned
325
- def country_code=(country_code)
326
- if !country_code.nil? && country_code.to_s.length > 2
327
- fail ArgumentError, 'invalid value for "country_code", the character length must be smaller than or equal to 2.'
328
- end
329
-
330
- if !country_code.nil? && country_code.to_s.length < 2
331
- fail ArgumentError, 'invalid value for "country_code", the character length must be great than or equal to 2.'
273
+ # Custom attribute writer method checking allowed values (enum).
274
+ # @param [Object] method Object to be assigned
275
+ def method=(method)
276
+ validator = EnumAttributeValidator.new('String', ["watchlists", "attested", "document_submission", "id_and_selfie", "tax_id_and_selfie", "business_registration", "plaid_identity_match", "attested_ownership", "account_ownership"])
277
+ unless validator.valid?(method)
278
+ fail ArgumentError, "invalid value for \"method\", must be one of #{validator.allowable_values}."
332
279
  end
333
-
334
- @country_code = country_code
280
+ @method = method
335
281
  end
336
282
 
337
283
  # Custom attribute writer method with validation
338
- # @param [Object] external_bank_account_guid Value to be assigned
339
- def external_bank_account_guid=(external_bank_account_guid)
340
- if !external_bank_account_guid.nil? && external_bank_account_guid.to_s.length > 32
341
- fail ArgumentError, 'invalid value for "external_bank_account_guid", the character length must be smaller than or equal to 32.'
284
+ # @param [Object] identification_numbers Value to be assigned
285
+ def identification_numbers=(identification_numbers)
286
+ if !identification_numbers.nil? && identification_numbers.length > 10
287
+ fail ArgumentError, 'invalid value for "identification_numbers", number of items must be less than or equal to 10.'
342
288
  end
343
289
 
344
- if !external_bank_account_guid.nil? && external_bank_account_guid.to_s.length < 32
345
- fail ArgumentError, 'invalid value for "external_bank_account_guid", the character length must be great than or equal to 32.'
290
+ if !identification_numbers.nil? && identification_numbers.length < 1
291
+ fail ArgumentError, 'invalid value for "identification_numbers", number of items must be greater than or equal to 1.'
346
292
  end
347
293
 
348
- @external_bank_account_guid = external_bank_account_guid
294
+ @identification_numbers = identification_numbers
349
295
  end
350
296
 
351
297
  # Checks equality by comparing each attribute.
@@ -354,18 +300,18 @@ module CybridApiBank
354
300
  return true if self.equal?(o)
355
301
  self.class == o.class &&
356
302
  type == o.type &&
357
- method == o.method &&
358
303
  customer_guid == o.customer_guid &&
304
+ expected_behaviours == o.expected_behaviours &&
305
+ method == o.method &&
359
306
  counterparty_guid == o.counterparty_guid &&
360
307
  country_code == o.country_code &&
361
308
  name == o.name &&
362
309
  address == o.address &&
363
310
  date_of_birth == o.date_of_birth &&
364
- phone_number == o.phone_number &&
365
- email_address == o.email_address &&
366
311
  identification_numbers == o.identification_numbers &&
367
312
  external_bank_account_guid == o.external_bank_account_guid &&
368
- expected_behaviours == o.expected_behaviours
313
+ phone_number == o.phone_number &&
314
+ email_address == o.email_address
369
315
  end
370
316
 
371
317
  # @see the `==` method
@@ -377,7 +323,7 @@ module CybridApiBank
377
323
  # Calculates hash code according to all attributes.
378
324
  # @return [Integer] Hash code
379
325
  def hash
380
- [type, method, customer_guid, counterparty_guid, country_code, name, address, date_of_birth, phone_number, email_address, identification_numbers, external_bank_account_guid, expected_behaviours].hash
326
+ [type, customer_guid, expected_behaviours, method, counterparty_guid, country_code, name, address, date_of_birth, identification_numbers, external_bank_account_guid, phone_number, email_address].hash
381
327
  end
382
328
 
383
329
  # Builds the object from hash
@@ -3,7 +3,7 @@
3
3
 
4
4
  ## Cybrid API documentation Welcome to Cybrid, an all-in-one crypto platform that enables you to easily **build** and **launch** white-label crypto products or services. In these documents, you'll find details on how our REST API operates and generally how our platform functions. If you're looking for our UI SDK Widgets for Web or Mobile (iOS/Android), generated API clients, or demo applications, head over to our [Github repo](https://github.com/Cybrid-app). 💡 We recommend bookmarking the [Cybrid LinkTree](https://linktr.ee/cybridtechnologies) which contains many helpful links to platform resources. ## Getting Started This is Cybrid's public interactive API documentation, which allows you to fully test our APIs. If you'd like to use a different tool to exercise our APIs, you can download the [Open API 3.0 yaml](https://bank.production.cybrid.app/api/schema/v1/swagger.yaml) for import. If you're new to our APIs and the Cybrid Platform, follow the below guides to get set up and familiar with the platform: 1. [Introduction](https://docs.cybrid.xyz/docs/introduction) 2. [Platform Introduction](https://docs.cybrid.xyz/docs/how-is-cybrid-architected) 3. [Testing with Hosted Web Demo App](https://docs.cybrid.xyz/docs/testing-with-hosted-web-demo-app) In [Getting Started in the Cybrid Sandbox](https://docs.cybrid.xyz/docs/how-do-i-get-started-with-the-sandbox), we walk you through how to use the [Cybrid Sandbox](https://id.sandbox.cybrid.app/) to create a test bank and generate API keys. In [Getting Ready for Trading](https://kb.cybrid.xyz/getting-ready-for-trading), we walk through creating customers, customer identities, accounts, as well as executing quotes and trades. ## Working with the Cybrid Platform There are three primary ways you can interact with the Cybrid platform: 1. Directly via our RESTful API (this documentation) 2. Using our API clients available in a variety of languages ([Angular](https://github.com/Cybrid-app/cybrid-api-bank-angular), [Java](https://github.com/Cybrid-app/cybrid-api-bank-java), [Kotlin](https://github.com/Cybrid-app/cybrid-api-bank-kotlin), [Python](https://github.com/Cybrid-app/cybrid-api-bank-python), [Ruby](https://github.com/Cybrid-app/cybrid-api-bank-ruby), [Swift](https://github.com/Cybrid-app/cybrid-api-bank-swift) or [Typescript](https://github.com/Cybrid-app/cybrid-api-bank-typescript)) 3. Integrating a platform specific SDK ([Web](https://github.com/Cybrid-app/cybrid-sdk-web), [Android](https://github.com/Cybrid-app/cybrid-sdk-android), [iOS](https://github.com/Cybrid-app/cybrid-sdk-ios)) Our complete set of APIs allows you to manage resources across three distinct areas: your `Organization`, your `Banks` and your `Identities`. For most of your testing and interaction you'll be using the `Bank` API, which is where the majority of APIs reside. *The complete set of APIs can be found on the following pages:* | API | Description | |------------------------------------------------------------------|-------------------------------------------------------------| | [Organization API](https://organization.production.cybrid.app/api/schema/swagger-ui) | APIs to manage organizations | | [Bank API](https://bank.production.cybrid.app/api/schema/swagger-ui) | APIs to manage banks (and all downstream customer activity) | | [Identities API](https://id.production.cybrid.app/api/schema/swagger-ui) | APIs to manage organization and bank identities | For questions please contact [Support](mailto:support@cybrid.xyz) at any time for assistance, or contact the [Product Team](mailto:product@cybrid.xyz) for product suggestions. ## Authenticating with the API The Cybrid Platform uses OAuth 2.0 Bearer Tokens to authenticate requests to the platform. Credentials to create `Organization` and `Bank` tokens can be generated via the [Cybrid Sandbox](https://id.production.cybrid.app). Access tokens can be generated for a `Customer` as well via the [Cybrid IdP](https://id.production.cybrid.app) as well. An `Organization` access token applies broadly to the whole Organization and all of its `Banks`, whereas, a `Bank` access token is specific to an individual Bank. `Customer` tokens, similarly, are scoped to a specific customer in a bank. Both `Organization` and `Bank` tokens can be created using the OAuth Client Credential Grant flow. Each Organization and Bank has its own unique `Client ID` and `Secret` that allows for machine-to-machine authentication. A `Bank` can then generate `Customer` access tokens via API using our [Identities API](https://id.production.cybrid.app/api/schema/swagger-ui). <font color=\"orange\">**⚠️ Never share your Client ID or Secret publicly or in your source code repository.**</font> Your `Client ID` and `Secret` can be exchanged for a time-limited `Bearer Token` by interacting with the Cybrid Identity Provider or through interacting with the **Authorize** button in this document. The following curl command can be used to quickly generate a `Bearer Token` for use in testing the API or demo applications. ``` # Example request when using Bank credentials curl -X POST https://id.production.cybrid.app/oauth/token -d '{ \"grant_type\": \"client_credentials\", \"client_id\": \"<Your Client ID>\", \"client_secret\": \"<Your Secret>\", \"scope\": \"banks:read banks:write bank_applications:execute accounts:read accounts:execute counterparties:read counterparties:write counterparties:execute customers:read customers:write customers:execute prices:read quotes:execute quotes:read trades:execute trades:read transfers:execute transfers:read external_bank_accounts:read external_bank_accounts:write external_bank_accounts:execute external_wallets:read external_wallets:execute workflows:read workflows:execute deposit_addresses:read deposit_addresses:execute deposit_bank_accounts:read deposit_bank_accounts:execute invoices:read invoices:write invoices:execute identity_verifications:read identity_verifications:write identity_verifications:execute\" }' -H \"Content-Type: application/json\" # When using Organization credentials set `scope` to 'organizations:read organizations:write organization_applications:execute banks:read banks:write banks:execute bank_applications:execute users:read users:execute counterparties:read customers:read accounts:read prices:read quotes:execute quotes:read trades:execute trades:read transfers:read transfers:execute external_bank_accounts:read external_wallets:read workflows:read deposit_addresses:read deposit_bank_accounts:read invoices:read subscriptions:read subscriptions:write subscriptions:execute subscription_events:read subscription_events:execute identity_verifications:read' ``` <font color=\"orange\">**⚠️ Note: The above curl will create a bearer token with full scope access. Delete scopes if you'd like to restrict access.**</font> ## Authentication Scopes The Cybrid platform supports the use of scopes to control the level of access a token is limited to. Scopes do not grant access to resources; instead, they provide limits, in support of the least privilege principal. The following scopes are available on the platform and can be requested when generating either an Organization, Bank or Customer token. Generally speaking, the _Read_ scope is required to read and list resources, the _Write_ scope is required to update a resource and the _Execute_ scope is required to create a resource. | Resource | Read scope (Token Type) | Write scope (Token Type) | Execute scope (Token Type) | |-----------------------|------------------------------------------------------------|-----------------------------------------------|--------------------------------------------------| | Account | accounts:read (Organization, Bank, Customer) | | accounts:execute (Bank, Customer) | | Bank | banks:read (Organization, Bank) | banks:write (Organization, Bank) | banks:execute (Organization) | | Customer | customers:read (Organization, Bank, Customer) | customers:write (Bank, Customer) | customers:execute (Bank) | | Counterparty | counterparties:read (Organization, Bank, Customer) | counterparties:write (Bank, Customer) | counterparties:execute (Bank) | | Deposit Address | deposit_addresses:read (Organization, Bank, Customer) | deposit_addresses:write (Bank, Customer) | deposit_addresses:execute (Bank, Customer) | | External Bank Account | external_bank_accounts:read (Organization, Bank, Customer) | external_bank_accounts:write (Bank, Customer) | external_bank_accounts:execute (Bank, Customer) | | External Wallet | external_wallet:read (Organization, Bank, Customer) | | external_wallet:execute (Bank, Customer) | | Organization | organizations:read (Organization) | organizations:write (Organization) | | | User | users:read (Organization) | | users:execute (Organization) | | Price | prices:read (Bank, Customer) | | | | Quote | quotes:read (Organization, Bank, Customer) | | quotes:execute (Organization, Bank, Customer) | | Trade | trades:read (Organization, Bank, Customer) | | trades:execute (Organization, Bank, Customer) | | Transfer | transfers:read (Organization, Bank, Customer) | | transfers:execute (Organization, Bank, Customer) | | Workflow | workflows:read (Organization, Bank, Customer) | | workflows:execute (Bank, Customer) | | Invoice | invoices:read (Organization, Bank, Customer) | invoices:write (Bank, Customer) | invoices:execute (Bank, Customer) | ## Available Endpoints The available APIs for the [Identity](https://id.production.cybrid.app/api/schema/swagger-ui), [Organization](https://organization.production.cybrid.app/api/schema/swagger-ui) and [Bank](https://bank.production.cybrid.app/api/schema/swagger-ui) API services are listed below: | API Service | Model | API Endpoint Path | Description | |--------------|----------------------|--------------------------------|---------------------------------------------------------------------------------------------------| | Identity | Bank | /api/bank_applications | Create and list banks | | Identity | CustomerToken | /api/customer_tokens | Create customer JWT access tokens | | Identity | Organization | /api/organization_applications | Create and list organizations | | Identity | Organization | /api/users | Create and list organization users | | Organization | Organization | /api/organizations | APIs to retrieve and update organization name | | Bank | Account | /api/accounts | Create and list accounts, which hold a specific asset for a customers | | Bank | Asset | /api/assets | Get a list of assets supported by the platform (ex: BTC, ETH) | | Bank | Bank | /api/banks | Create, update and list banks, the parent to customers, accounts, etc | | Bank | Customer | /api/customers | Create and list customers | | Bank | Counterparty | /api/counterparties | Create and list counterparties | | Bank | DepositAddress | /api/deposit_addresses | Create, get and list deposit addresses | | Bank | ExternalBankAccount | /api/external_bank_accounts | Create, get and list external bank accounts, which connect customer bank accounts to the platform | | Bank | ExternalWallet | /api/external_wallets | Create, get, list and delete external wallets, which connect customer wallets to the platform | | Bank | IdentityVerification | /api/identity_verifications | Create and list identity verifications, which are performed on customers for KYC | | Bank | Invoice | /api/invoices | Create, get, cancel and list invoices | | Bank | PaymentInstruction | /api/payment_instructions | Create, get and list payment instructions for invoices | | Bank | Price | /api/prices | Get the current prices for assets on the platform | | Bank | Quote | /api/quotes | Create and list quotes, which are required to execute trades | | Bank | Symbol | /api/symbols | Get a list of symbols supported for trade (ex: BTC-USD) | | Bank | Trade | /api/trades | Create and list trades, which buy or sell cryptocurrency | | Bank | Transfer | /api/transfers | Create, get and list transfers (e.g., funding, book) | | Bank | Workflow | /api/workflows | Create, get and list workflows | ## Understanding Object Models & Endpoints **Organizations** An `Organization` is meant to represent the organization partnering with Cybrid to use our platform. An `Organization` typically does not directly interact with `customers`. Instead, an Organization has one or more `banks`, which encompass the financial service offerings of the platform. **Banks** A `Bank` is owned by an `Organization` and can be thought of as an environment or container for `customers` and product offerings. Banks are created in either `Sandbox` or `Production` mode, where `Sandbox` is the environment that you would test, prototype and build in prior to moving to `Production`. An `Organization` can have multiple `banks`, in either `Sandbox` or `Production` environments. A `Sandbox Bank` will be backed by stubbed data and process flows. For instance, funding source transfer processes as well as trades will be simulated rather than performed, however asset prices are representative of real-world values. You have an unlimited amount of simulated fiat currency for testing purposes. **Customers** `Customers` represent your banking users on the platform. At present, we offer support for `Individuals` as Customers. `Customers` must be verified (i.e., KYC'd) in our system before they can play any part on the platform, which means they must have an associated and a passing `Identity Verification`. See the Identity Verifications section for more details on how a customer can be verified. `Customers` must also have an `Account` to be able to transact, in the desired asset class. See the Accounts APIs for more details on setting up accounts for the customer.
5
5
 
6
- The version of the OpenAPI document: v0.121.11
6
+ The version of the OpenAPI document: v0.121.12
7
7
  Contact: support@cybrid.app
8
8
  Generated by: https://openapi-generator.tech
9
9
  OpenAPI Generator version: 6.0.0
@@ -14,18 +14,18 @@ require 'date'
14
14
  require 'time'
15
15
 
16
16
  module CybridApiBank
17
- # The customer's name; required when method is set to 'attested'. Either full or first and last are required.
17
+ # The customer's name. Required when type is kyc and method is attested, type is bank_account and method is attested, or type is bank_account and method is attested_ownership.
18
18
  class PostIdentityVerificationNameBankModel
19
- # The customer's first name.
19
+ # The customer's first name. Required when type is kyc and method is attested. Optional when type is bank_account and method is attested or type is bank_account and method is attested_ownership.
20
20
  attr_accessor :first
21
21
 
22
- # The customer's middle name.
22
+ # The customer's middle name. Optional when type is kyc and method is attested, type is bank_account and method is attested, or type is bank_account and method is attested_ownership.
23
23
  attr_accessor :middle
24
24
 
25
- # The customer's last name.
25
+ # The customer's last name. Required when type is kyc and method is attested. Optional when type is bank_account and method is attested or type is bank_account and method is attested_ownership.
26
26
  attr_accessor :last
27
27
 
28
- # The customer's full name.
28
+ # The customer's full name. Required when type is bank_account and method is attested or type is bank_account and method is attested_ownership. Optional when type is kyc and method is attested.
29
29
  attr_accessor :full
30
30
 
31
31
  # Attribute mapping from ruby-style variable name to JSON key.