cybrid_api_bank_ruby 0.121.10 → 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.10
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,14 +14,15 @@ require 'date'
14
14
  require 'time'
15
15
 
16
16
  module CybridApiBank
17
+ # The customer's name. Optional when type is individual.
17
18
  class PostCustomerNameBankModel
18
- # The customer's first name.
19
+ # The customer's first name. Required when type is individual.
19
20
  attr_accessor :first
20
21
 
21
- # The customer's middle name.
22
+ # The customer's middle name. Optional when type is individual.
22
23
  attr_accessor :middle
23
24
 
24
- # The customer's last name.
25
+ # The customer's last name. Required when type is individual.
25
26
  attr_accessor :last
26
27
 
27
28
  # Attribute mapping from ruby-style variable name to JSON key.
@@ -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.10
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,6 +14,7 @@ require 'date'
14
14
  require 'time'
15
15
 
16
16
  module CybridApiBank
17
+ # Request body for deposit address creation.
17
18
  class PostDepositAddressBankModel
18
19
  # The trading account guid.
19
20
  attr_accessor :account_guid
@@ -91,6 +92,10 @@ module CybridApiBank
91
92
  invalid_properties.push('invalid value for "account_guid", the character length must be great than or equal to 32.')
92
93
  end
93
94
 
95
+ if !@labels.nil? && @labels.length > 8
96
+ invalid_properties.push('invalid value for "labels", number of items must be less than or equal to 8.')
97
+ end
98
+
94
99
  invalid_properties
95
100
  end
96
101
 
@@ -100,6 +105,7 @@ module CybridApiBank
100
105
  return false if @account_guid.nil?
101
106
  return false if @account_guid.to_s.length > 32
102
107
  return false if @account_guid.to_s.length < 32
108
+ return false if !@labels.nil? && @labels.length > 8
103
109
  true
104
110
  end
105
111
 
@@ -121,6 +127,16 @@ module CybridApiBank
121
127
  @account_guid = account_guid
122
128
  end
123
129
 
130
+ # Custom attribute writer method with validation
131
+ # @param [Object] labels Value to be assigned
132
+ def labels=(labels)
133
+ if !labels.nil? && labels.length > 8
134
+ fail ArgumentError, 'invalid value for "labels", number of items must be less than or equal to 8.'
135
+ end
136
+
137
+ @labels = labels
138
+ end
139
+
124
140
  # Checks equality by comparing each attribute.
125
141
  # @param [Object] Object to be compared
126
142
  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.10
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,6 +14,7 @@ require 'date'
14
14
  require 'time'
15
15
 
16
16
  module CybridApiBank
17
+ # Request body for deposit bank account creation.
17
18
  class PostDepositBankAccountBankModel
18
19
  # The account type. To generate deposit bank accounts with their own unique account number set this to \"main\". To generate deposit bank accounts with the same account number as the parent deposit bank account set this to \"sub_account\". This setting will only generate a unique identifier for the deposit bank and will not result in a unique account number being generated. \"sub_account\" is only available for customer-level deposit bank accounts.
19
20
  attr_accessor :type
@@ -24,10 +25,10 @@ module CybridApiBank
24
25
  # The unique identifier for the customer.
25
26
  attr_accessor :customer_guid
26
27
 
27
- # The unique identifier for the bank-level deposit bank account. This is only required for sub-accounts.
28
+ # The unique identifier for the bank-level deposit bank account. This is only required for sub-accounts. Required when type is sub_account.
28
29
  attr_accessor :parent_deposit_bank_account_guid
29
30
 
30
- # The labels associated with the address.
31
+ # The labels associated with the bank account.
31
32
  attr_accessor :labels
32
33
 
33
34
  class EnumAttributeValidator
@@ -130,6 +131,10 @@ module CybridApiBank
130
131
  # @return Array for valid properties with the reasons
131
132
  def list_invalid_properties
132
133
  invalid_properties = Array.new
134
+ if @type.nil?
135
+ invalid_properties.push('invalid value for "type", type cannot be nil.')
136
+ end
137
+
133
138
  if @account_guid.nil?
134
139
  invalid_properties.push('invalid value for "account_guid", account_guid cannot be nil.')
135
140
  end
@@ -158,12 +163,17 @@ module CybridApiBank
158
163
  invalid_properties.push('invalid value for "parent_deposit_bank_account_guid", the character length must be great than or equal to 32.')
159
164
  end
160
165
 
166
+ if !@labels.nil? && @labels.length > 8
167
+ invalid_properties.push('invalid value for "labels", number of items must be less than or equal to 8.')
168
+ end
169
+
161
170
  invalid_properties
162
171
  end
163
172
 
164
173
  # Check to see if the all the properties in the model are valid
165
174
  # @return true if the model is valid
166
175
  def valid?
176
+ return false if @type.nil?
167
177
  type_validator = EnumAttributeValidator.new('String', ["main", "sub_account"])
168
178
  return false unless type_validator.valid?(@type)
169
179
  return false if @account_guid.nil?
@@ -173,6 +183,7 @@ module CybridApiBank
173
183
  return false if !@customer_guid.nil? && @customer_guid.to_s.length < 32
174
184
  return false if !@parent_deposit_bank_account_guid.nil? && @parent_deposit_bank_account_guid.to_s.length > 32
175
185
  return false if !@parent_deposit_bank_account_guid.nil? && @parent_deposit_bank_account_guid.to_s.length < 32
186
+ return false if !@labels.nil? && @labels.length > 8
176
187
  true
177
188
  end
178
189
 
@@ -232,6 +243,16 @@ module CybridApiBank
232
243
  @parent_deposit_bank_account_guid = parent_deposit_bank_account_guid
233
244
  end
234
245
 
246
+ # Custom attribute writer method with validation
247
+ # @param [Object] labels Value to be assigned
248
+ def labels=(labels)
249
+ if !labels.nil? && labels.length > 8
250
+ fail ArgumentError, 'invalid value for "labels", number of items must be less than or equal to 8.'
251
+ end
252
+
253
+ @labels = labels
254
+ end
255
+
235
256
  # Checks equality by comparing each attribute.
236
257
  # @param [Object] Object to be compared
237
258
  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.10
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,6 +14,7 @@ require 'date'
14
14
  require 'time'
15
15
 
16
16
  module CybridApiBank
17
+ # Request body for external bank account creation.
17
18
  class PostExternalBankAccountBankModel
18
19
  # The name of the account.
19
20
  attr_accessor :name
@@ -27,36 +28,36 @@ module CybridApiBank
27
28
  # The asset code. If not set will try and default to the Bank's configured fiat asset.
28
29
  attr_accessor :asset
29
30
 
30
- # The public token for the account. Required for 'plaid' accounts.
31
+ # The public token for the account. Required for 'plaid' accounts. Required when account_kind is plaid.
31
32
  attr_accessor :plaid_public_token
32
33
 
33
- # The account identifier in plaid. Required for 'plaid' accounts.
34
+ # The account identifier in plaid. Required for 'plaid' accounts. Required when account_kind is plaid.
34
35
  attr_accessor :plaid_account_id
35
36
 
36
- # The Plaid processor token used to access the account. Required for 'plaid_processor_token' accounts.
37
+ # The Plaid processor token used to access the account. Required when account_kind is plaid_processor_token.
37
38
  attr_accessor :plaid_processor_token
38
39
 
39
- # Plaid's institution ID for the account's institution. Required for 'plaid_processor_token' accounts.
40
+ # Plaid's institution ID for the account's institution. Required when account_kind is plaid_processor_token.
40
41
  attr_accessor :plaid_institution_id
41
42
 
42
- # The account mask for the account. Required for 'plaid_processor_token' accounts.
43
+ # The account mask for the account. Required when account_kind is plaid_processor_token.
43
44
  attr_accessor :plaid_account_mask
44
45
 
45
- # The name of the account. Required for 'plaid_processor_token' accounts.
46
+ # The name of the account. Required when account_kind is plaid_processor_token.
46
47
  attr_accessor :plaid_account_name
47
48
 
49
+ # The counterparty identifier. Optional when account_kind is raw_routing_details.
50
+ attr_accessor :counterparty_guid
51
+
48
52
  attr_accessor :counterparty_bank_account
49
53
 
50
54
  attr_accessor :counterparty_name
51
55
 
52
56
  attr_accessor :counterparty_address
53
57
 
54
- # The counterparty's email address on their checking account.
58
+ # The counterparty's email address on their checking account. Optional when account_kind is raw_routing_details and counterparty_guid is not present.
55
59
  attr_accessor :counterparty_email_address
56
60
 
57
- # The counterparty identifier.
58
- attr_accessor :counterparty_guid
59
-
60
61
  class EnumAttributeValidator
61
62
  attr_reader :datatype
62
63
  attr_reader :allowable_values
@@ -92,11 +93,11 @@ module CybridApiBank
92
93
  :'plaid_institution_id' => :'plaid_institution_id',
93
94
  :'plaid_account_mask' => :'plaid_account_mask',
94
95
  :'plaid_account_name' => :'plaid_account_name',
96
+ :'counterparty_guid' => :'counterparty_guid',
95
97
  :'counterparty_bank_account' => :'counterparty_bank_account',
96
98
  :'counterparty_name' => :'counterparty_name',
97
99
  :'counterparty_address' => :'counterparty_address',
98
- :'counterparty_email_address' => :'counterparty_email_address',
99
- :'counterparty_guid' => :'counterparty_guid'
100
+ :'counterparty_email_address' => :'counterparty_email_address'
100
101
  }
101
102
  end
102
103
 
@@ -118,11 +119,11 @@ module CybridApiBank
118
119
  :'plaid_institution_id' => :'String',
119
120
  :'plaid_account_mask' => :'String',
120
121
  :'plaid_account_name' => :'String',
122
+ :'counterparty_guid' => :'String',
121
123
  :'counterparty_bank_account' => :'PostExternalBankAccountCounterpartyBankAccountBankModel',
122
124
  :'counterparty_name' => :'PostExternalBankAccountCounterpartyNameBankModel',
123
125
  :'counterparty_address' => :'PostExternalBankAccountCounterpartyAddressBankModel',
124
- :'counterparty_email_address' => :'String',
125
- :'counterparty_guid' => :'String'
126
+ :'counterparty_email_address' => :'String'
126
127
  }
127
128
  end
128
129
 
@@ -137,11 +138,11 @@ module CybridApiBank
137
138
  :'plaid_institution_id',
138
139
  :'plaid_account_mask',
139
140
  :'plaid_account_name',
141
+ :'counterparty_guid',
140
142
  :'counterparty_bank_account',
141
143
  :'counterparty_name',
142
144
  :'counterparty_address',
143
- :'counterparty_email_address',
144
- :'counterparty_guid'
145
+ :'counterparty_email_address'
145
146
  ])
146
147
  end
147
148
 
@@ -200,6 +201,10 @@ module CybridApiBank
200
201
  self.plaid_account_name = attributes[:'plaid_account_name']
201
202
  end
202
203
 
204
+ if attributes.key?(:'counterparty_guid')
205
+ self.counterparty_guid = attributes[:'counterparty_guid']
206
+ end
207
+
203
208
  if attributes.key?(:'counterparty_bank_account')
204
209
  self.counterparty_bank_account = attributes[:'counterparty_bank_account']
205
210
  end
@@ -215,10 +220,6 @@ module CybridApiBank
215
220
  if attributes.key?(:'counterparty_email_address')
216
221
  self.counterparty_email_address = attributes[:'counterparty_email_address']
217
222
  end
218
-
219
- if attributes.key?(:'counterparty_guid')
220
- self.counterparty_guid = attributes[:'counterparty_guid']
221
- end
222
223
  end
223
224
 
224
225
  # Show invalid properties with the reasons. Usually used together with valid?
@@ -249,14 +250,6 @@ module CybridApiBank
249
250
  invalid_properties.push('invalid value for "customer_guid", the character length must be great than or equal to 32.')
250
251
  end
251
252
 
252
- if @asset.to_s.length > 8
253
- invalid_properties.push('invalid value for "asset", the character length must be smaller than or equal to 8.')
254
- end
255
-
256
- if @asset.to_s.length < 1
257
- invalid_properties.push('invalid value for "asset", the character length must be great than or equal to 1.')
258
- end
259
-
260
253
  if !@plaid_public_token.nil? && @plaid_public_token.to_s.length > 128
261
254
  invalid_properties.push('invalid value for "plaid_public_token", the character length must be smaller than or equal to 128.')
262
255
  end
@@ -327,8 +320,6 @@ module CybridApiBank
327
320
  return false unless account_kind_validator.valid?(@account_kind)
328
321
  return false if !@customer_guid.nil? && @customer_guid.to_s.length > 32
329
322
  return false if !@customer_guid.nil? && @customer_guid.to_s.length < 32
330
- return false if @asset.to_s.length > 8
331
- return false if @asset.to_s.length < 1
332
323
  return false if !@plaid_public_token.nil? && @plaid_public_token.to_s.length > 128
333
324
  return false if !@plaid_public_token.nil? && @plaid_public_token.to_s.length < 1
334
325
  return false if !@plaid_account_id.nil? && @plaid_account_id.to_s.length > 128
@@ -388,20 +379,6 @@ module CybridApiBank
388
379
  @customer_guid = customer_guid
389
380
  end
390
381
 
391
- # Custom attribute writer method with validation
392
- # @param [Object] asset Value to be assigned
393
- def asset=(asset)
394
- if asset.to_s.length > 8
395
- fail ArgumentError, 'invalid value for "asset", the character length must be smaller than or equal to 8.'
396
- end
397
-
398
- if asset.to_s.length < 1
399
- fail ArgumentError, 'invalid value for "asset", the character length must be great than or equal to 1.'
400
- end
401
-
402
- @asset = asset
403
- end
404
-
405
382
  # Custom attribute writer method with validation
406
383
  # @param [Object] plaid_public_token Value to be assigned
407
384
  def plaid_public_token=(plaid_public_token)
@@ -515,11 +492,11 @@ module CybridApiBank
515
492
  plaid_institution_id == o.plaid_institution_id &&
516
493
  plaid_account_mask == o.plaid_account_mask &&
517
494
  plaid_account_name == o.plaid_account_name &&
495
+ counterparty_guid == o.counterparty_guid &&
518
496
  counterparty_bank_account == o.counterparty_bank_account &&
519
497
  counterparty_name == o.counterparty_name &&
520
498
  counterparty_address == o.counterparty_address &&
521
- counterparty_email_address == o.counterparty_email_address &&
522
- counterparty_guid == o.counterparty_guid
499
+ counterparty_email_address == o.counterparty_email_address
523
500
  end
524
501
 
525
502
  # @see the `==` method
@@ -531,7 +508,7 @@ module CybridApiBank
531
508
  # Calculates hash code according to all attributes.
532
509
  # @return [Integer] Hash code
533
510
  def hash
534
- [name, account_kind, customer_guid, asset, plaid_public_token, plaid_account_id, plaid_processor_token, plaid_institution_id, plaid_account_mask, plaid_account_name, counterparty_bank_account, counterparty_name, counterparty_address, counterparty_email_address, counterparty_guid].hash
511
+ [name, account_kind, customer_guid, asset, plaid_public_token, plaid_account_id, plaid_processor_token, plaid_institution_id, plaid_account_mask, plaid_account_name, counterparty_guid, counterparty_bank_account, counterparty_name, counterparty_address, counterparty_email_address].hash
535
512
  end
536
513
 
537
514
  # Builds the object from hash