diff --git a/.github/workflows/sdk_generation.yaml b/.github/workflows/sdk_generation.yaml new file mode 100644 index 0000000..654c8f0 --- /dev/null +++ b/.github/workflows/sdk_generation.yaml @@ -0,0 +1,35 @@ +name: Generate +permissions: + checks: write + contents: write + pull-requests: write + statuses: write + id-token: write +"on": + workflow_dispatch: + inputs: + force: + description: Force generation of SDKs + type: boolean + default: false + set_version: + description: optionally set a specific SDK version + type: string + schedule: + - cron: 0 0 * * * + pull_request: + types: + - labeled + - unlabeled +jobs: + generate: + uses: speakeasy-api/sdk-generation-action/.github/workflows/workflow-executor.yaml@v15 + with: + force: ${{ github.event.inputs.force }} + mode: pr + set_version: ${{ github.event.inputs.set_version }} + secrets: + github_access_token: ${{ secrets.GITHUB_TOKEN }} + packagist_token: ${{ secrets.PACKAGIST_TOKEN }} + packagist_username: ${{ secrets.PACKAGIST_USERNAME }} + speakeasy_api_key: ${{ secrets.SPEAKEASY_API_KEY }} diff --git a/.github/workflows/sdk_publish.yaml b/.github/workflows/sdk_publish.yaml new file mode 100644 index 0000000..a85c1ff --- /dev/null +++ b/.github/workflows/sdk_publish.yaml @@ -0,0 +1,24 @@ +name: Publish +permissions: + checks: write + contents: write + pull-requests: write + statuses: write + id-token: write +"on": + push: + branches: + - main + paths: + - .speakeasy/gen.lock + workflow_dispatch: {} +jobs: + publish: + uses: speakeasy-api/sdk-generation-action/.github/workflows/sdk-publish.yaml@v15 + with: + target: dwolla + secrets: + github_access_token: ${{ secrets.GITHUB_TOKEN }} + packagist_token: ${{ secrets.PACKAGIST_TOKEN }} + packagist_username: ${{ secrets.PACKAGIST_USERNAME }} + speakeasy_api_key: ${{ secrets.SPEAKEASY_API_KEY }} diff --git a/.gitignore b/.gitignore index 5858818..7252178 100644 --- a/.gitignore +++ b/.gitignore @@ -6,3 +6,6 @@ vendor **/.speakeasy/logs/ .env .env.local +.phpunit.result.cache +# Code workspace files +*.code-workspace diff --git a/.speakeasy/gen.lock b/.speakeasy/gen.lock index f176ac4..761b498 100644 --- a/.speakeasy/gen.lock +++ b/.speakeasy/gen.lock @@ -1,16 +1,16 @@ lockVersion: 2.0.0 id: 51667746-b5a1-4f3a-b02d-c95dc7a72ad4 management: - docChecksum: e85e5872e6cb0c928c26f43676b50ee3 + docChecksum: d186b2b540e520c525a0b7859b0f6f93 docVersion: "2.0" - speakeasyVersion: 1.685.0 - generationVersion: 2.794.1 - releaseVersion: 0.0.1 - configChecksum: a39c95112804db302bc5de6759f16030 + speakeasyVersion: 1.690.1 + generationVersion: 2.797.1 + releaseVersion: 0.0.1-beta.1 + configChecksum: d0a6b68acb3462b48666568bcfd553dc persistentEdits: - generation_id: 3782512d-1d54-4c4b-bb51-80c09fd15cf1 - pristine_commit_hash: 3e046026f86fd00fd1795f8d302e6a3a89edc4f6 - pristine_tree_hash: 60e7d653991dd8b0106cdef843e8bcd0ee4fcca0 + generation_id: 40ebe85d-eb21-4b64-b43e-88f06ea99532 + pristine_commit_hash: 2446bc65421ac9fcecf361e6a04a16c45b0d17b2 + pristine_tree_hash: a28021586e3cb2616be57e988fb32582c6099719 features: php: constsAndDefaults: 0.2.0 @@ -23,9 +23,9 @@ features: methodArguments: 0.1.0 methodSecurity: 2.82.2 nameOverrides: 2.81.2 - nullables: 1.0.1 oauth2ClientCredentials: 1.1.0 responseFormat: 0.1.0 + serverIDs: 2.81.1 unions: 0.1.7 trackedFiles: .gitattributes: @@ -72,18 +72,14 @@ trackedFiles: id: 4feedc6397b1 last_write_checksum: sha1:06cf40dbc15d9e93f0f1b509d8af4357fde4f5db pristine_git_object: 49f086d284c3ec4ba0663e3dc4abfc7f9edd9a33 + docs/Models/Components/Address.md: + id: de24ea0d518d + last_write_checksum: sha1:cf593fd5cd3723bb84677686b3fb1c476c69a5bd + pristine_git_object: 2eb2560d2173c5e1d6c1b9e11dc6e62a0205fc12 docs/Models/Components/AllFailureReason.md: id: 57781b096ea8 last_write_checksum: sha1:9f2614b5056efc414069f8d783e2ea000fc3136e pristine_git_object: 241a64da5f067fdc2d30d56447a5ff53d96329a2 - docs/Models/Components/Amount1.md: - id: e36f14dcc0b5 - last_write_checksum: sha1:4108b66cdcffbe36b7077bb47fc3af9df421fea5 - pristine_git_object: 07d4fa9578bfcac3745f53ebf70cde71a11a8252 - docs/Models/Components/Amount2.md: - id: ad7f9094b790 - last_write_checksum: sha1:3ed192ba5fccad07871d62348dc98d72fd78402c - pristine_git_object: 34a9e542000a3b9371dc6bfc0f2f31497a06d5ec docs/Models/Components/Attempt.md: id: 33a2686a899c last_write_checksum: sha1:3e9569fe34959df8c9672ddc14bdbce806e633d8 @@ -460,10 +456,6 @@ trackedFiles: id: 7af06e076508 last_write_checksum: sha1:a68f60e34146b94bc29847c8f9c01c8a437b681d pristine_git_object: 078dcffa5f116f7d9922f970b27aebe2aed831a4 - docs/Models/Components/DeactivateCustomer.md: - id: "453384516196" - last_write_checksum: sha1:be87368ab1488a7da2ec8a9c4e1fd2bc437b34d0 - pristine_git_object: 5df9f2e56a62786c0d1755fceba580f94c1ddb7b docs/Models/Components/DepositAccountRestrictedErrorEmbedded.md: id: dacd5dac11fa last_write_checksum: sha1:3012b28a9f6f11d16ce6216faaa1a507b7e761a3 @@ -1248,10 +1240,6 @@ trackedFiles: id: 712a920eca61 last_write_checksum: sha1:ef05770f6517cb8c588850301c8aafa8b6704bb2 pristine_git_object: c8e3d1bbce659ad86cbf122670451f674c72a704 - docs/Models/Components/ReactivateCustomer.md: - id: fcca12d55ce3 - last_write_checksum: sha1:993e92b490fe2346558d168319c34c5fd49f6ef3 - pristine_git_object: f300ca52e4206d73bcfcba16308b643ab5d8b735 docs/Models/Components/ReceiveOnlyCustomer.md: id: e389ebf93cdf last_write_checksum: sha1:4915ae085d6ca92507607dc5f401a6c819f86991 @@ -1316,46 +1304,6 @@ trackedFiles: id: 62ad3a5481e4 last_write_checksum: sha1:cbd5cf7172fd6777a5c5193b37a73d61d6d1c3d8 pristine_git_object: 3690fbd497b6f2daad00b17d0f5f9a9c02b13a78 - docs/Models/Components/RetryVerifiedBusinessNoController.md: - id: e47a37f17a42 - last_write_checksum: sha1:d8a2a743af02450956cb0862040745cb7e5129a5 - pristine_git_object: acaf6a2092da8b4734970cb72cb59c9bbdbdc77e - docs/Models/Components/RetryVerifiedBusinessWithController.md: - id: 361ebb95dcd6 - last_write_checksum: sha1:6a6f46dab0f413564ee47783601c5740eeed1cb0 - pristine_git_object: 8064fdc4e8e2dde522604c2d096ddcd316d1b71e - docs/Models/Components/RetryVerifiedBusinessWithControllerAddress.md: - id: 480480611e9c - last_write_checksum: sha1:8291e47f04fef465f3d2da302c40e378218c93b4 - pristine_git_object: 88c6eba7332c4d09066d01e66e7f4148d615a190 - docs/Models/Components/RetryVerifiedBusinessWithControllerController.md: - id: 603a44426588 - last_write_checksum: sha1:c9cc04c83b3427f0348b905349c72259b3827eed - pristine_git_object: 05c17daad611524acc774e4947fadd49c258caeb - docs/Models/Components/RetryVerifiedBusinessWithInternationalController.md: - id: efb482f7cb59 - last_write_checksum: sha1:27e96b161202199c119403d4dcf85f274ac51e26 - pristine_git_object: 46aba9fca54b34f553908cc79350c2b4c2549521 - docs/Models/Components/RetryVerifiedBusinessWithInternationalControllerAddress.md: - id: 680e84e29b7b - last_write_checksum: sha1:0cc090d718d4f98c17f1f3742a4df2dd9af7edbe - pristine_git_object: 486fcf7de46bfab5af8f88ae5896b659b96ce385 - docs/Models/Components/RetryVerifiedBusinessWithInternationalControllerController.md: - id: cc16ba9318e3 - last_write_checksum: sha1:a5be1818e5e54943d13803f3635f276795dc59ee - pristine_git_object: b148a03c3ffb1642b7581aaffcfcadfd54752998 - docs/Models/Components/RetryVerifiedBusinessWithInternationalControllerPassport.md: - id: f6311f99efbe - last_write_checksum: sha1:3ac5db4e7689c2afd5acdbbc1dd0f0a20fcdbbc4 - pristine_git_object: 03981820e90d497e4346e8f0091460677277f6be - docs/Models/Components/RetryVerifiedPersonal.md: - id: 471d5c251331 - last_write_checksum: sha1:77da56a0cbc365d72a4b4abc69614aecef5eaeae - pristine_git_object: 18b25465aabd08abed82079238c25f7099f8cbf3 - docs/Models/Components/RetryVerifiedSoleProp.md: - id: a90dc86aa15b - last_write_checksum: sha1:4453554a148f3ffb982d8b19f41271c126b0f23c - pristine_git_object: 52288b98ee0bce3d27222c49cd6d886bf3fc264b docs/Models/Components/Root.md: id: 84f245c3cb79 last_write_checksum: sha1:3194400815a2005fd25348a4734e0594e3539476 @@ -1520,10 +1468,6 @@ trackedFiles: id: d7cb80666bd2 last_write_checksum: sha1:637d316c7a36669f354d33dc548e6be4d8b67c39 pristine_git_object: ab9bc170540e25100ff6d7c2260e6bcfb8289558 - docs/Models/Components/SuspendCustomer.md: - id: fe71d201e071 - last_write_checksum: sha1:e77164be612077bda057c73704405cb3be0d42fa - pristine_git_object: 2c43bcf6d56729206665fc34f8417d801ed9a0b4 docs/Models/Components/Transfer.md: id: 477890c615c4 last_write_checksum: sha1:3aafbd4b51fa71439608e676b2231f0e84b0ec83 @@ -1588,10 +1532,6 @@ trackedFiles: id: b40e5e46bd6b last_write_checksum: sha1:69cf2df67b0b0ae08968a38779e53223a3c8003e pristine_git_object: 2b7e10c215658a65b06d01ad037aa0b49c17247f - docs/Models/Components/UpdateUnverifiedAndReceiveOnly.md: - id: fb86c3e39330 - last_write_checksum: sha1:d5eb10cb3dbf90cb2240d2282146197de552fb30 - pristine_git_object: 69412ecf466b4ff543a69b8cfcaa7d3ebd39e22a docs/Models/Components/UpdateUnverifiedBank.md: id: 7860245411d9 last_write_checksum: sha1:275d6224d3b5f20e61f0622b03e6c686ac6a145d @@ -1600,38 +1540,6 @@ trackedFiles: id: 5fc26577fb9e last_write_checksum: sha1:96a7cfe4eb72a1573a7ca4e5533c22931ec45a2f pristine_git_object: a57e36e1706da673afa3b04b5dcb3142c22b82d3 - docs/Models/Components/UpdateVerifiedBusiness.md: - id: a1ee86a1ee95 - last_write_checksum: sha1:8311b1887a3eddba1b1b2150d2ec36cb9257ac44 - pristine_git_object: bc546d5bd236155cbf15d5e4463e021163b5ab9a - docs/Models/Components/UpdateVerifiedPersonal.md: - id: 55112e67dc88 - last_write_checksum: sha1:2a64cbfb805eeaa040444875cc50806e5b34d209 - pristine_git_object: 4df9ee1de30edd5de3238406e713ed6220c83c81 - docs/Models/Components/UpgradeToUnverified.md: - id: 7c4bd5e9e18f - last_write_checksum: sha1:583d0172ef9c03e5f4d928d0178a89276bf2429b - pristine_git_object: 7922ab5604c907ff5dc945d0d8cde4a292bd46c1 - docs/Models/Components/UpgradeToVerifiedBusiness.md: - id: baeb75ab57d3 - last_write_checksum: sha1:ee61f7ef0a0d880f96126a5c67bb31ca04eba6f6 - pristine_git_object: c530264ae8ab68c45bc9330894a0b39b2e10bed4 - docs/Models/Components/UpgradeToVerifiedBusinessAddress.md: - id: 7e46b82f3655 - last_write_checksum: sha1:aaca9f7daaad901bf2b417ebdf76ce6f9cf89b05 - pristine_git_object: 25ff794953cdd955bab03ba037db5c4ccc5eae74 - docs/Models/Components/UpgradeToVerifiedBusinessController.md: - id: be29c8e265a4 - last_write_checksum: sha1:2e5005931ea9740853270863513a8a2d802b022e - pristine_git_object: 80275e700dd6090384820151cfd62f13877d5366 - docs/Models/Components/UpgradeToVerifiedPersonal.md: - id: ca599eb30f1a - last_write_checksum: sha1:33727439640bc7235e33f536fec983bc2a4902e4 - pristine_git_object: 02eec157133c96025cb4493eae510f5830c1bcbf - docs/Models/Components/UpgradeToVerifiedSoleProp.md: - id: f7e3a13ba180 - last_write_checksum: sha1:956fbfbc4a776a4fbab3a3895edbdbdf7cc0205a - pristine_git_object: f251804f3ab4c147b868d4e9df33424c1af4e1c7 docs/Models/Components/ValidationErrorSchemaEmbedded.md: id: acb958a220d7 last_write_checksum: sha1:7fb62fe52804b2c91f32363c7f0dfb2ac4c6b042 @@ -1644,18 +1552,14 @@ trackedFiles: id: 8ce51e67f280 last_write_checksum: sha1:d22b649271a921dee57cc0f79aa1f96dc99cc2df pristine_git_object: 1f968bccfd882e47497e3c00767148331acb20c8 - docs/Models/Components/VerifiedBusinessCustomerAddress.md: - id: a74764009b92 - last_write_checksum: sha1:02131cb1ac92e3c8b7f9fb23003f29bfa34953dd - pristine_git_object: 20a79d38ee2cdd1d31243cbc8463f1159a22adea docs/Models/Components/VerifiedBusinessCustomerBusinessType.md: id: 24d1e17658ad last_write_checksum: sha1:f68e99789a685919773361b448ea3f7fae86d1d3 pristine_git_object: afd3c9b653d5c828a1ccb5d644d77c599a0937ea docs/Models/Components/VerifiedBusinessCustomerController.md: id: c3d380a2bba5 - last_write_checksum: sha1:663f1039bd6e2b36aaa87873f55f1b9dbb2de4bc - pristine_git_object: 577c7b8549d871e54c0e354bbf558390ebf7e823 + last_write_checksum: sha1:7ae840cfb17c0967b4a087d4e4827cd77c4dd82a + pristine_git_object: 4c6584720d162986584cc34b15b0ad40428f6563 docs/Models/Components/VerifiedBusinessCustomerStatus.md: id: 7fbb918b4982 last_write_checksum: sha1:aace88b7d2fee8dcf5cb9e944e65a90ab7e698e5 @@ -1692,10 +1596,6 @@ trackedFiles: id: 23db05eb5bb4 last_write_checksum: sha1:95be0665075489fd60a2a9794e0770baf6253f6d pristine_git_object: 66fc4c294a48b895297a54ce4bdf926fdcc3a4ff - docs/Models/Components/VerifyMicroDeposits.md: - id: d573b6f4ad23 - last_write_checksum: sha1:05465d82991ae60d70f48ca0dbc660bec12c57a1 - pristine_git_object: 1135ccff342963f3a1c342d31e60d87424837fc5 docs/Models/Components/Webhook.md: id: fca2770a666e last_write_checksum: sha1:56b6e3e4cb82005bcda0af2d2ed15491fa3100dc @@ -2240,14 +2140,14 @@ trackedFiles: id: 856766de75e9 last_write_checksum: sha1:ec72ac2bbd6ee52724d30758147e441b4827db54 pristine_git_object: a2a698c9bc2db0d158071791a4abe563f09a80da - docs/Models/Errors/InitiateOrVerifyMicroDepositsForbiddenDwollaV1HalJSONException.md: - id: 26f6b27a2a6f - last_write_checksum: sha1:681b31002f50d184d4ca86c5c24714edddd0126d - pristine_git_object: 5d8d506c0293018adc438de02784207c411d8f55 - docs/Models/Errors/InitiateOrVerifyMicroDepositsNotFoundDwollaV1HalJSONException.md: - id: 5abbb15e6337 - last_write_checksum: sha1:1170d3b157bddcdb594ff817cdf445251f5ff9d7 - pristine_git_object: 3b2d6b6202a93574e98f8112eaf2e9627d85174e + docs/Models/Errors/InitiateMicroDepositsForbiddenDwollaV1HalJSONException.md: + id: d7744de0a917 + last_write_checksum: sha1:cb90ecbeed65ab2c152fd8a52cd775127b82c558 + pristine_git_object: aace98c5939137db0fcbc9798b63dd522840fa25 + docs/Models/Errors/InitiateMicroDepositsNotFoundDwollaV1HalJSONException.md: + id: 1f1910c68b53 + last_write_checksum: sha1:a9759ac1e3472f90026a8162948905d6d561b683 + pristine_git_object: 62bdef276763d96d17334605bc2ddba9aa30f7c0 docs/Models/Errors/InitiateTransferBadRequestDwollaV1HalJSON.md: id: 0db00750e432 last_write_checksum: sha1:1c0df1f39b83455fd997985ea79dc01f92d9e925 @@ -2656,6 +2556,18 @@ trackedFiles: id: ef384a816ddc last_write_checksum: sha1:f14c577e3b87ee336f3799ab5b26d6510a579af6 pristine_git_object: 9910a2e8113939b45eacaf6469f965bde1768b9c + docs/Models/Errors/VerifyMicroDepositsBadRequestDwollaV1HalJSONException.md: + id: eb681798a574 + last_write_checksum: sha1:8da46c1f5bcaee919d9077f844a6b37917f37fcd + pristine_git_object: 183f83317edbc51ef4254edec64e658ef684b81e + docs/Models/Errors/VerifyMicroDepositsForbiddenDwollaV1HalJSONException.md: + id: 2e0e18d3d7c2 + last_write_checksum: sha1:38559d77df643624a8b805ef0ab13c7cd21f68d1 + pristine_git_object: c4866925b54eed05720bed57d7086e2b69da23a3 + docs/Models/Errors/VerifyMicroDepositsNotFoundDwollaV1HalJSONException.md: + id: 61399a606540 + last_write_checksum: sha1:34d9a506d84dd1e2094c91bfe29d6efab59e02a5 + pristine_git_object: 51f3175e91aeb125a817985617c2692531e48a51 docs/Models/Errors/WeeklyReceiveLimitReachedError.md: id: a8a0fed0bd24 last_write_checksum: sha1:7bb7f60bce7dfa7c8495e6f03494acf265a037a8 @@ -2720,6 +2632,14 @@ trackedFiles: id: 1929f6c16ac2 last_write_checksum: sha1:78c08a69ef0a717e737cf0036a6fc50546b0d6e9 pristine_git_object: 6f971034e717b992df7b3ebed898e9ee2cc7e5ba + docs/Models/Operations/Amount1.md: + id: 2beacc845970 + last_write_checksum: sha1:4108b66cdcffbe36b7077bb47fc3af9df421fea5 + pristine_git_object: 07d4fa9578bfcac3745f53ebf70cde71a11a8252 + docs/Models/Operations/Amount2.md: + id: 47fbbf09cb04 + last_write_checksum: sha1:3ed192ba5fccad07871d62348dc98d72fd78402c + pristine_git_object: 34a9e542000a3b9371dc6bfc0f2f31497a06d5ec docs/Models/Operations/Available1.md: id: 1bad6f993156 last_write_checksum: sha1:ab14188e8eac63319373e3fcdbf46bd9d00727e7 @@ -2728,6 +2648,10 @@ trackedFiles: id: dfaacc08ec61 last_write_checksum: sha1:33f5a7083dd3b10ed3e472ed792ea74b38511c07 pristine_git_object: b9bdc1d9f17c25714f7248157a94db44881826f5 + docs/Models/Operations/BadRequestLinks.md: + id: 9b718cc24652 + last_write_checksum: sha1:56eb2cfd2b082327f0bdf45191e5cb2c161d8891 + pristine_git_object: 63adbe0aa737ababf51369f270fe5c67d200d4b1 docs/Models/Operations/Balance.md: id: c47d2f8fbafb last_write_checksum: sha1:0c00ebafe40fecddb8d9074a5a65fc32f1f88c20 @@ -3016,6 +2940,10 @@ trackedFiles: id: f0d36290a6d2 last_write_checksum: sha1:d048e5ab122c4a2c99fb3390fb5f757c94f0a141 pristine_git_object: 3730bfff2ab2210d63ec5f79e7f47757aff02a5a + docs/Models/Operations/Error.md: + id: 5eb162822393 + last_write_checksum: sha1:ff86e6f695807acebe4d735438e0308653692ab3 + pristine_git_object: c7b12e75d3df989947b0de125fbd213038177b7f docs/Models/Operations/Failure.md: id: 8d58e01bfe4a last_write_checksum: sha1:0021e536533d54a9905f589a85fe9b70d24f7bde @@ -3308,34 +3236,14 @@ trackedFiles: id: 8a3a26f16fe9 last_write_checksum: sha1:42a0df693e60c60d2ce25b760b3db4f47ddf329e pristine_git_object: 553e69495743bafacacb50a0b7512606b57cee1c - docs/Models/Operations/InitiateMicroDeposits.md: - id: b8fe35c5e847 - last_write_checksum: sha1:a70667ee021804e3ab386442d563f543a014212f - pristine_git_object: 791d3801fc3a19326be93aa1cf6dc93d8a2e5ab6 - docs/Models/Operations/InitiateOrVerifyMicroDepositsLinks.md: - id: b80555897d65 - last_write_checksum: sha1:6bad23744b9a1ebd9fd51b4ad63b92e9ce2ad6b8 - pristine_git_object: b954eecc1613dd07c6582dd41e8ac8c270aa4763 - docs/Models/Operations/InitiateOrVerifyMicroDepositsRequest.md: - id: b19a6479e888 - last_write_checksum: sha1:9c3c53dd83ffe1aa280633908b7b9da88cd39c31 - pristine_git_object: 9bd47b2a9895bbab110448e9ee858a5376ce743c - docs/Models/Operations/InitiateOrVerifyMicroDepositsRequestBody.md: - id: 8a2eeeb299ee - last_write_checksum: sha1:ba248c4995341b1c0312e4ce2b6c8b4339ef7bad - pristine_git_object: b5c82522b0082998339158db0857e43d8b998162 - docs/Models/Operations/InitiateOrVerifyMicroDepositsResponse.md: - id: 11d7edc4fdbd - last_write_checksum: sha1:b6f4ca4a375670a3184736995fb3074e6274c71d - pristine_git_object: 3709bae3b29516cbcb96c8407fc830d22747b02e - docs/Models/Operations/InitiateOrVerifyMicroDepositsResponseBody.md: - id: 12ce71b03c65 - last_write_checksum: sha1:683f8a7abea57e0794fb3e6d4ba790f003a0ee5d - pristine_git_object: 378b839cf45b6afe2573810f3f7d12213a9151c6 - docs/Models/Operations/InitiateOrVerifyMicroDepositsSelf.md: - id: 02716fada098 - last_write_checksum: sha1:93a5f2d454d521d6e6769ec8006b86af6c175b05 - pristine_git_object: 28f503ac79a9f6ebb44fc01f68e92cddcbb4bee8 + docs/Models/Operations/InitiateMicroDepositsRequest.md: + id: b6dcd143465f + last_write_checksum: sha1:75d8715a0ae97780cc7dc5b79abb3a90c9cfc6de + pristine_git_object: fb9f876ddb4688a67342914d23b9784b1785792d + docs/Models/Operations/InitiateMicroDepositsResponse.md: + id: 5dbd896ee67e + last_write_checksum: sha1:741343082729d574e7146088c177ca925a8b491f + pristine_git_object: 0507ea8297597f0c08f56a56f928a975d5ea64b5 docs/Models/Operations/InitiateTransferAchDetails.md: id: ad88c899587b last_write_checksum: sha1:b51ffd4254b12de89d7052691dc62346d3e5462b @@ -3830,12 +3738,8 @@ trackedFiles: pristine_git_object: f8213a9ff9cab9a442f4ad8f2de74f32f5cd7001 docs/Models/Operations/UpdateRequest.md: id: a25cd6b93edd - last_write_checksum: sha1:5b5cf4d3758f1637f7e7b78ab0eaa4e77ba77b27 - pristine_git_object: 1f4395f02b8c3ed8ff2d89ff7ff810f8baa9e7aa - docs/Models/Operations/UpdateRequestBody.md: - id: d7d2a20fc9b5 - last_write_checksum: sha1:0b6b880d15c3ffe2e61ca6d054d7cfe9637e535d - pristine_git_object: c115a09728aa9df10066fb987c6e9764620b3bf5 + last_write_checksum: sha1:ad66ef5aeb047395b1e0fc336dcc22b930871317 + pristine_git_object: ed6b223fcd751e64d9f4b8b75544babf6aa3b621 docs/Models/Operations/UpdateResponse.md: id: 14a71a9acdaf last_write_checksum: sha1:89342312158da79fdd6f8a75dd5dfad589b6b392 @@ -3884,6 +3788,34 @@ trackedFiles: id: 184f5ee71e18 last_write_checksum: sha1:7c7c0792d87e295b5c1f85b62ee5783e657e56c9 pristine_git_object: 5178b97acbd8984d79fb326fd80bd9db3003ff08 + docs/Models/Operations/VerifyMicroDepositsEmbedded.md: + id: e536a76882c1 + last_write_checksum: sha1:391e88d0da4d9279f074a3a2f422319e0c46a7d8 + pristine_git_object: 35b613c8f70f61f8c9d316d2c28f68f605a5b334 + docs/Models/Operations/VerifyMicroDepositsLinks.md: + id: 6dba53d6a4e7 + last_write_checksum: sha1:32cd4dcbf0b76dc1a5664c51f3709eefcd029d39 + pristine_git_object: 8eff58d3ef3df18630c6d9f2a894c039545b3aa5 + docs/Models/Operations/VerifyMicroDepositsRequest.md: + id: 51d37eb69ba0 + last_write_checksum: sha1:aa34ab5cf32f90f5726e5324fb0ebfe594e9867e + pristine_git_object: dbafbf4c913fa2320261256bfdbd922dee13b621 + docs/Models/Operations/VerifyMicroDepositsRequestBody.md: + id: 39962b24d12c + last_write_checksum: sha1:88c83cbb3b93cf979902fdeedf456a8ddc020480 + pristine_git_object: 3630937358f9e074dba884afc263035a98907d2b + docs/Models/Operations/VerifyMicroDepositsResponse.md: + id: e7f5987ee89f + last_write_checksum: sha1:dd137d355db20ed6ae7fca2502be12e831af3c2d + pristine_git_object: 793451eeaabe1caa6d43dc9b3cdb4df33c58bb70 + docs/Models/Operations/VerifyMicroDepositsResponseBody.md: + id: e3390baab0e6 + last_write_checksum: sha1:dbbcac30d62ab5d04a8ecdd8df590acb3343c5e0 + pristine_git_object: 2a8eeda0db1ebc91ece7428fab12d6b6a0269e54 + docs/Models/Operations/VerifyMicroDepositsSelf.md: + id: 5f102aa6149f + last_write_checksum: sha1:a1392d12c195543362cd2e6301b44b281e22d265 + pristine_git_object: a890be9ef4a0ae8d9ed75867f6e1bec34f2e2c52 docs/sdks/accounts/README.md: id: d6c754b1ca96 last_write_checksum: sha1:09bd8c446a075ce8f6d37df70d1b5804266aa837 @@ -3930,8 +3862,8 @@ trackedFiles: pristine_git_object: 7f2c6c45442bed1ca9eaea81fedd665a4ae0b88c docs/sdks/customers/README.md: id: 9332759cffc2 - last_write_checksum: sha1:bf981b3d33ca7fa47a01e4ba036c6fd5667fcdab - pristine_git_object: 738926414c021652bbffe629bb24d853837102ed + last_write_checksum: sha1:38cd85b05b18fa6f541599e84db0fedc12df4c2e + pristine_git_object: 19216a84c17a2808bd5e30255ac11ff2a013b741 docs/sdks/customersbeneficialowners/README.md: id: 14f5b8ecee41 last_write_checksum: sha1:78277bfce692d9beb8f5933ecb06e9fdf27ea824 @@ -4026,8 +3958,8 @@ trackedFiles: pristine_git_object: 8e3e8ad80bccc43ac70b51802bea38f7e1dca420 docs/sdks/microdeposits/README.md: id: 5388e9c10dc1 - last_write_checksum: sha1:8fb9942e6252427957098c99b989d8b24bdcb06a - pristine_git_object: a550eb77fc267905c20d3b577d34c3dc566ea5a3 + last_write_checksum: sha1:ff2dec2d1bdc1073bf92f717825bcaf0767e6ce9 + pristine_git_object: 26edf937b5f2a41795b8e8598005ee0e3ac9fe3b docs/sdks/ondemandtransferauthorizations/README.md: id: 08e9755cfe2e last_write_checksum: sha1:730a011a1d88fff2cc75e80e6b01681d0f74c253 @@ -4130,8 +4062,8 @@ trackedFiles: pristine_git_object: 128b4a46d220ee12baf2d543bc1adb9b1420a7d8 src/Customers.php: id: e30600fa045b - last_write_checksum: sha1:3e3a5b9d50ccf1a694c27b2e4fed0acc65906b2a - pristine_git_object: baba4fe4ac86dccab49c14e78076defdfe78b1b6 + last_write_checksum: sha1:cd1256f5ec402ca8493bd5524705a73fc66dea14 + pristine_git_object: 8d49880d973f9e750e1a5227aefaaa7b6ab12ffb src/CustomersBeneficialOwners.php: id: 56a1bf128ded last_write_checksum: sha1:523bfdf5ab0aebe89c5de88731f6bc9f800f65f6 @@ -4174,12 +4106,12 @@ trackedFiles: pristine_git_object: 41f99f5febfe3434dbe3f5524aa91c2bc6111a88 src/Dwolla.php: id: ba0a4c6191a8 - last_write_checksum: sha1:1d2809dcaff51231af177353420ec66a3a8fa51d - pristine_git_object: c5ada02582639add67eed6d3d24e007b1df8f223 + last_write_checksum: sha1:7674551a7e9c716a911e49c94d60e9207adede9b + pristine_git_object: 59bf4b9673aea3a4ac31d0a42d22272762e5842f src/DwollaBuilder.php: id: 13f42b576ba0 - last_write_checksum: sha1:a97d5be5925ce9337879a1728533cf90ca058410 - pristine_git_object: ef032a083a0a3a6c217e5295f76ee3bdeb12a240 + last_write_checksum: sha1:6513018cd72ee556323a62d6f240208280e9351b + pristine_git_object: da991871fe4513586ff7daf0f9a249fba22fc4ba src/Events.php: id: 0907f840e896 last_write_checksum: sha1:bff8aad61456b6d9246a57863047cc022d74bcec @@ -4298,8 +4230,8 @@ trackedFiles: pristine_git_object: 514db68b7c564eec9e278f53a4ad56ff20f78d93 src/MicroDeposits.php: id: 592420b7e1f9 - last_write_checksum: sha1:4b61a55e23dc802c05b2ef5f102194bb7df113f6 - pristine_git_object: e473ea53ba0b2d4816095320c17836bacba44a15 + last_write_checksum: sha1:ecbd3144c0a2cfb6a4bc020834fe3bd0f2a8d71b + pristine_git_object: 3c987dd5142101342564d7f311e7b51a9a4635bf src/Models/Components/About.php: id: ec621a05ea72 last_write_checksum: sha1:5860156da49c3578e07e7145771b503dfffc48bf @@ -4332,18 +4264,14 @@ trackedFiles: id: df97fef3d4da last_write_checksum: sha1:ba515d5e22514a7a46c119f19de5dcc38d17bb15 pristine_git_object: 473906e4b6a39f689dba98da5fb5e1e72e231a60 + src/Models/Components/Address.php: + id: 53caf55d71e8 + last_write_checksum: sha1:33fd68cefd797ab35a3ada98d50667c47eca34c4 + pristine_git_object: 2b4aa7ddb9f51f18a1c74090a77c748e74671175 src/Models/Components/AllFailureReason.php: id: 02135f729eff last_write_checksum: sha1:29247e0d31f40ab52daa7563f124265d10b315d4 pristine_git_object: 598ac67d81eef6bb96a6cc86553ed851bbbbfd37 - src/Models/Components/Amount1.php: - id: 3bd1fd8984db - last_write_checksum: sha1:7aa819b6b4102e61022c55ef9913139f38b541d8 - pristine_git_object: 6ee70108af0c5045499d4eebc7290c4771f576e5 - src/Models/Components/Amount2.php: - id: 8078950f83b2 - last_write_checksum: sha1:382540e9b4ef08a28f69eb678298054080a86bff - pristine_git_object: bfc5fe3cf634f4c88a7a0cc9757223eeb382b19d src/Models/Components/Attempt.php: id: 2ab821d5e64f last_write_checksum: sha1:73d6cc42977423df96b36cdc4faac59375483d66 @@ -4712,10 +4640,6 @@ trackedFiles: id: 4175b4450797 last_write_checksum: sha1:609336b5553cec5d5947f7a3cae3cc3646086ada pristine_git_object: 1161acf49a2454b91d55385b39e7665289907592 - src/Models/Components/DeactivateCustomer.php: - id: f31b2e68b91f - last_write_checksum: sha1:1dc6c8089fd58a0c299aa23bb7fda66860b20008 - pristine_git_object: f8562e7a59e8e1d7a1fe8445313336a12b46697b src/Models/Components/DepositAccountRestrictedErrorEmbedded.php: id: 31c0386494df last_write_checksum: sha1:3f729759d47afbefa3d8ff1e81a570d39edd28c4 @@ -5500,10 +5424,6 @@ trackedFiles: id: 0f3be372058e last_write_checksum: sha1:4090543301f4b60fa091a4289d58c838659a92fd pristine_git_object: 0e6f4112e5b2a27e69e324f1a849f20c8bde360c - src/Models/Components/ReactivateCustomer.php: - id: 310dfb35fc79 - last_write_checksum: sha1:1a7363b6115f98e9cbd3e703bcce590733fe2913 - pristine_git_object: 220fee3f025a8443423e58186e4d806510bc723c src/Models/Components/ReceiveOnlyCustomer.php: id: 7461daae89ec last_write_checksum: sha1:9160ef2b524d6403da488c0cdf3da090bed93941 @@ -5568,46 +5488,6 @@ trackedFiles: id: 902b7c3f88ea last_write_checksum: sha1:e7485a6d63992456fadecacd596f66d261f45c1c pristine_git_object: a3c5424ce4fcae141c5cc480e7a3960355c69816 - src/Models/Components/RetryVerifiedBusinessNoController.php: - id: 0c03482b0309 - last_write_checksum: sha1:dfda519007bac1c8b760b2848c9a46cb0eca166e - pristine_git_object: b8a139d18087faad35f0dc0032a758c831b3eae0 - src/Models/Components/RetryVerifiedBusinessWithController.php: - id: dfcc74e86c6e - last_write_checksum: sha1:b1767dfb1e4f6f0dd741ef618aecb167dff797e3 - pristine_git_object: 586ff5f7ac22869095b6e4438442746f08365519 - src/Models/Components/RetryVerifiedBusinessWithControllerAddress.php: - id: 219158cd0e7f - last_write_checksum: sha1:5d84d8f978c6fe87b5f561c291d891d1a178c67f - pristine_git_object: 924de7c80c20b587cf18ea9d42b88d8f31b2aca6 - src/Models/Components/RetryVerifiedBusinessWithControllerController.php: - id: 04fe9e27f84c - last_write_checksum: sha1:ba4f6baa0672df99257148148f5b1b83c07336a7 - pristine_git_object: ef2c3d4b3c448dcc5c94e2a4a3de113545cd5c90 - src/Models/Components/RetryVerifiedBusinessWithInternationalController.php: - id: "965322667491" - last_write_checksum: sha1:bf745d186212583a7424897fec657dbc6c254165 - pristine_git_object: cd02f5e8a271e5a729a696db977b23cd24aee17a - src/Models/Components/RetryVerifiedBusinessWithInternationalControllerAddress.php: - id: df19770ee6bd - last_write_checksum: sha1:3c1f7af9b9b14ee9708be5d998b9dc90ce473b23 - pristine_git_object: 4aad07df88dfcb1bd956e76a0374038e62a636c2 - src/Models/Components/RetryVerifiedBusinessWithInternationalControllerController.php: - id: 0521b0e1875a - last_write_checksum: sha1:8e840cec0a7af912c64744e94189562b4ea63317 - pristine_git_object: 318ff4f22f4c2c7ee288c98005cba261e352b20a - src/Models/Components/RetryVerifiedBusinessWithInternationalControllerPassport.php: - id: d0f6212656a6 - last_write_checksum: sha1:65f93a0e5f47f5b3bcc7e5ff5d92a8c676858437 - pristine_git_object: b6afd7c3d7c4d65c36fe48b5764f5632f76e8858 - src/Models/Components/RetryVerifiedPersonal.php: - id: 56c9f5978147 - last_write_checksum: sha1:573d19265311bc194dc7af1985d62e3ee1302d7b - pristine_git_object: 75dfc030cc24818a6ebf4e262356b825e8a7e04d - src/Models/Components/RetryVerifiedSoleProp.php: - id: 017601fa14fa - last_write_checksum: sha1:2c8fb9f872b66505dfbf69486fb5ae6c6e4f25b7 - pristine_git_object: c920ad28f4e850d4c00ee527e3b03db79e8f33f3 src/Models/Components/Root.php: id: e8d045b794ac last_write_checksum: sha1:b270d83d87cc0ab911a991232c639e9a03806a39 @@ -5772,10 +5652,6 @@ trackedFiles: id: fc7cd3ab1b6e last_write_checksum: sha1:a250045ecc2f0ba3445e6317bf46438e2e76d343 pristine_git_object: f82de1bd545d4bc041159ad3d21959ec2e605e5e - src/Models/Components/SuspendCustomer.php: - id: d947b9ca4d5b - last_write_checksum: sha1:2c673f501ce4017ae8f78099a53205289b4de5b3 - pristine_git_object: 3b9d6974d38d06ff4c7b7d80e4f45aeebaa0217f src/Models/Components/Transfer.php: id: 7ca39b81b4d0 last_write_checksum: sha1:f04cfcab0ffe94b1165ce74a7a8c95f3864a3ee5 @@ -5840,10 +5716,6 @@ trackedFiles: id: b73135c4692b last_write_checksum: sha1:15a23660cdf888c78b64986452c6a0602289b8db pristine_git_object: 6c42344bd64914262fc78422cd3117f475016859 - src/Models/Components/UpdateUnverifiedAndReceiveOnly.php: - id: dc8988d7ecee - last_write_checksum: sha1:7ddbeac416713dd756f8ef9fd7fdd5da3afd77e5 - pristine_git_object: f3a3cee8fb52aabdde8b554f6d0ce50fc4931b7d src/Models/Components/UpdateUnverifiedBank.php: id: d1c57bfb0450 last_write_checksum: sha1:54c482364f3d4360deea61122261696d82e3aa20 @@ -5852,38 +5724,6 @@ trackedFiles: id: a406c6ca9a3e last_write_checksum: sha1:b74336358acf51c8d400756a519f5f71aa737eb9 pristine_git_object: d45355a58ced36da14aa4c96577be749abe56662 - src/Models/Components/UpdateVerifiedBusiness.php: - id: c1c48dec3ea7 - last_write_checksum: sha1:6c0a6d18a5a204bb81c80ef237bbd427c4b3473c - pristine_git_object: 11c9c4933b34aaa05e218d81bf0ec1b2ecbb4c0d - src/Models/Components/UpdateVerifiedPersonal.php: - id: 5e358bfccc61 - last_write_checksum: sha1:93aa132fed833f1db6aee34615d0d7e3f9acc20a - pristine_git_object: 91e5d25998d77b76e67560c5cfdaed4713269e1c - src/Models/Components/UpgradeToUnverified.php: - id: 2ce296bb3899 - last_write_checksum: sha1:0ffef81a21329cfb169ce26b28e1a529e68bdb7c - pristine_git_object: 80574a6d4920e738eac93a9468e6b15e4addf771 - src/Models/Components/UpgradeToVerifiedBusiness.php: - id: 112e82966ed0 - last_write_checksum: sha1:6c5a5ed16d394b3c14d5dbd479cc50cfb0704112 - pristine_git_object: 555b2add2cde92eeee13b077cfaee7d35fcd8b56 - src/Models/Components/UpgradeToVerifiedBusinessAddress.php: - id: 9128b6d48e81 - last_write_checksum: sha1:7b9b69a2adc2348ec39cc817023402bdd77bcc27 - pristine_git_object: 0c6d26c5c99ebf917d1a84e7a6f4f4d641ef4328 - src/Models/Components/UpgradeToVerifiedBusinessController.php: - id: dab828edfc99 - last_write_checksum: sha1:6b6ba6bd9a9493fb413db2d368ba23d8b0cc4ab9 - pristine_git_object: c6ad64a6bd2d096c0700f8ca9d8810fe2e0049e9 - src/Models/Components/UpgradeToVerifiedPersonal.php: - id: 2c7835ad8348 - last_write_checksum: sha1:cb30a3a011845727c019f89d286c0552a352084b - pristine_git_object: b50497b204a64a378b36d0afa328656605541d4b - src/Models/Components/UpgradeToVerifiedSoleProp.php: - id: 3540e7ba14ba - last_write_checksum: sha1:02d0da5250d05f6a93077a8791ee9ca28a5ace26 - pristine_git_object: 0fb6fd132c04078da59c654fad3c7317182a0b41 src/Models/Components/ValidationErrorSchemaEmbedded.php: id: acbb7a3a8a9d last_write_checksum: sha1:e3ee27758bc8c4bfc5eca6067886583673cfec34 @@ -5896,18 +5736,14 @@ trackedFiles: id: 995e1b133509 last_write_checksum: sha1:2c361d67f9d1eea7127aac0ceaa8ef1df5901576 pristine_git_object: a873b598ec9673e29fb3457b6cb0e7ebfc8b7880 - src/Models/Components/VerifiedBusinessCustomerAddress.php: - id: dcfcb30e2644 - last_write_checksum: sha1:bc6bd067a2b78ee581b37c749b17dc503be019c8 - pristine_git_object: 42c8051b601a91ea1b7f5fd399ea5b00d9a040b0 src/Models/Components/VerifiedBusinessCustomerBusinessType.php: id: 60abbea7263c last_write_checksum: sha1:40b8486f8e80b90848848d62b2f2137913da3399 pristine_git_object: e97d113e36a7b3658983553f33010ab67e5cdd40 src/Models/Components/VerifiedBusinessCustomerController.php: id: 48932441ba09 - last_write_checksum: sha1:d485fe5ae8cd4e8bb6d0b8cb660b6d551feb59c5 - pristine_git_object: a799ac139b7c1cfe789ecc8f1908352d50c5e2d5 + last_write_checksum: sha1:bca5de19b88024f73508c1b0bc18d528e1b95b0d + pristine_git_object: ea44c7cad111d04628fa1b4ee76bf3825d298ad3 src/Models/Components/VerifiedBusinessCustomerStatus.php: id: 2e10548fae53 last_write_checksum: sha1:00735909a7ff3ef6bfdbdd8518b12fcc7fe57594 @@ -5944,10 +5780,6 @@ trackedFiles: id: 56a113903912 last_write_checksum: sha1:01b38aadba1011ed9c9552fc87aada721b12fd90 pristine_git_object: 7963553eeaf2e90900e4cdd0b61285a8e9348ef8 - src/Models/Components/VerifyMicroDeposits.php: - id: e468b94efc8f - last_write_checksum: sha1:95d02681d429f93ff3d27a1af558ee7371807ad4 - pristine_git_object: c81e21ed2f684a7a1b124955355c8edafb4b9e0b src/Models/Components/Webhook.php: id: ad29b9a1e54b last_write_checksum: sha1:b5d5d6f083afca8d66f01902917a2dd5bb2ef00f @@ -6692,22 +6524,22 @@ trackedFiles: id: eb79d55967fb last_write_checksum: sha1:017078993c3bb61a89ec5d63d5abacc77fa24e47 pristine_git_object: 20c7cb7562a5d038cb98c21336bd580c6fb3edf9 - src/Models/Errors/InitiateOrVerifyMicroDepositsForbiddenDwollaV1HalJSONException.php: - id: 016afd0641d1 - last_write_checksum: sha1:78514305faa458a4b24a622f70e2f2b1ce568798 - pristine_git_object: c1e05990bacb4fe3c98f262393e53983f491a39e - src/Models/Errors/InitiateOrVerifyMicroDepositsForbiddenDwollaV1HalJSONExceptionThrowable.php: - id: 15f3649b65ae - last_write_checksum: sha1:703878012677005d12668196fa6dd1b9b9488eed - pristine_git_object: 9773b2e84a16e6197d7f2ffc164f0cc9ef84da56 - src/Models/Errors/InitiateOrVerifyMicroDepositsNotFoundDwollaV1HalJSONException.php: - id: c3c9edbe4972 - last_write_checksum: sha1:2c1675194dd7585df09635498afac18587a6838d - pristine_git_object: bb1ec551cbd10bda924e132a916e240d54024900 - src/Models/Errors/InitiateOrVerifyMicroDepositsNotFoundDwollaV1HalJSONExceptionThrowable.php: - id: 6aeb0ab56a72 - last_write_checksum: sha1:96a60403628d050f159ab80ad2b8e55d199ba8ab - pristine_git_object: 6516be478eb6d6c66b531d0ff6b9bc3d5f90461c + src/Models/Errors/InitiateMicroDepositsForbiddenDwollaV1HalJSONException.php: + id: 39b80b703212 + last_write_checksum: sha1:22319285841e839ab50fffcecc813bd939e6188c + pristine_git_object: 1fc11ddccbc37f9caa4363052fbee02077a561f1 + src/Models/Errors/InitiateMicroDepositsForbiddenDwollaV1HalJSONExceptionThrowable.php: + id: 284dfa2f417c + last_write_checksum: sha1:1fb876fdd967f86a8fce055720ab40ac8ae4232f + pristine_git_object: 1f6443e57a40495937675dc030fd6200b31dc3d3 + src/Models/Errors/InitiateMicroDepositsNotFoundDwollaV1HalJSONException.php: + id: de707fce537c + last_write_checksum: sha1:d719b56939991b163115d147dfb836f2dd7307fb + pristine_git_object: 1ce29b614eddf88093e2d603ed72c9c5fb0e78f2 + src/Models/Errors/InitiateMicroDepositsNotFoundDwollaV1HalJSONExceptionThrowable.php: + id: 26d570b3acfe + last_write_checksum: sha1:4c16b0f83a5603fd64ec8de0161524d00a1a5859 + pristine_git_object: 5121719bd3d71d735b2e6b3d03f29deed2bc3f42 src/Models/Errors/InsufficientFundsError.php: id: 1ced461eb48c last_write_checksum: sha1:d7c6d8f46c8c0f57704294ddd3100c262cac084a @@ -7492,6 +7324,30 @@ trackedFiles: id: aa77c3099568 last_write_checksum: sha1:e8a1c5ea908220bc9556e91698dc8fbbbc7a54e5 pristine_git_object: 35f05d39d1c5e7719b3e039481656ecb4d44d8a0 + src/Models/Errors/VerifyMicroDepositsBadRequestDwollaV1HalJSONException.php: + id: f2e0588b63f6 + last_write_checksum: sha1:c7b51815905b2b936168f3d8a431f8bee41cb282 + pristine_git_object: 70abe9c302d1993b47cdcbef78eee2f15af0a5a7 + src/Models/Errors/VerifyMicroDepositsBadRequestDwollaV1HalJSONExceptionThrowable.php: + id: 120238edcedb + last_write_checksum: sha1:5cc4ec29310bffc7d967219a3ab4519fbddea561 + pristine_git_object: f0264b718a287b1e30c4843efbf035808da36f35 + src/Models/Errors/VerifyMicroDepositsForbiddenDwollaV1HalJSONException.php: + id: 9ad3a99931bb + last_write_checksum: sha1:76ca17fcc52f6c7b8b3082c85509e46fd63f4b32 + pristine_git_object: f46bbfc3d6763a0d35113cd204a50df7be3cd0f4 + src/Models/Errors/VerifyMicroDepositsForbiddenDwollaV1HalJSONExceptionThrowable.php: + id: dccb10d7f449 + last_write_checksum: sha1:c8a7c9032e69064aebe29bdb0e09d74285e21088 + pristine_git_object: 72ef0809d7b0627c73e75933c50e756070155973 + src/Models/Errors/VerifyMicroDepositsNotFoundDwollaV1HalJSONException.php: + id: c65e12dcab07 + last_write_checksum: sha1:d429616cf21be92d2d5d3aa8f545b61b84974747 + pristine_git_object: 40d2ffa4883c1b56395198853f7547c42ee412c9 + src/Models/Errors/VerifyMicroDepositsNotFoundDwollaV1HalJSONExceptionThrowable.php: + id: 8e28196cf273 + last_write_checksum: sha1:104eae1a45aa4122ca1b849e5926960f9bb3cab2 + pristine_git_object: 7a5992aeac39c1ad97a84a7376a677f5eb70c8b7 src/Models/Errors/WeeklyReceiveLimitReachedError.php: id: b405a9086a7b last_write_checksum: sha1:1087157008be7821dfee57e13ff06f59f986630b @@ -7620,6 +7476,14 @@ trackedFiles: id: d7aad34c859f last_write_checksum: sha1:d6a774ada4a6f883ab5fd6a45ccfee133fef790b pristine_git_object: 946adc5bdf51e2ccb8a639f3bb28e2f458e1b477 + src/Models/Operations/Amount1.php: + id: e0fff6e5df8c + last_write_checksum: sha1:3b773d79f7c253891abab50c931690043d098993 + pristine_git_object: c700baf15eb274431d0a5a52ca0de44de97df35b + src/Models/Operations/Amount2.php: + id: 3e26a6271b0b + last_write_checksum: sha1:f6ebcd6512fbff06d7c71618558b944b31997d7e + pristine_git_object: 47de92b5dce7fe138026fe9177d5130e1c080aac src/Models/Operations/Available1.php: id: 65fca6658cda last_write_checksum: sha1:0a9b16759a20e5e7fb254ea0dc5cf33730a68f52 @@ -7628,6 +7492,10 @@ trackedFiles: id: 11184eb88cb8 last_write_checksum: sha1:76dc82f2ccc7330b656c3f925b9ac51f990bb7f5 pristine_git_object: 34cb35cd16e9f2af940e90f43212f3c9b4197812 + src/Models/Operations/BadRequestLinks.php: + id: b14db993381a + last_write_checksum: sha1:1c2b01dc957314aeabe95b7b5d7751f25592fbf3 + pristine_git_object: 53f93530b30326e0ced10b547be9c803623ecf65 src/Models/Operations/Balance.php: id: daef599aa51f last_write_checksum: sha1:d1b3f6580d16e79af2d6b63cc736db977ce23612 @@ -7892,6 +7760,10 @@ trackedFiles: id: 8b55f855ac31 last_write_checksum: sha1:98c1fb925ca8cf823315dc95cee37ed95781839d pristine_git_object: 875d72a6b6dd4772c6f9cd314f3df68d9380715c + src/Models/Operations/Error.php: + id: bc3876661d98 + last_write_checksum: sha1:74a1927c837b6f552c803aa33ff17761b18daa2c + pristine_git_object: cfcebcd1eb0a8ba3fdd9ae29925ee0a1dbb7150b src/Models/Operations/Failure.php: id: 93f1e89d6b2b last_write_checksum: sha1:9ad90ef0fcf9e6da4f779fcaab98233a075d8fcf @@ -8176,30 +8048,14 @@ trackedFiles: id: 0c0624798235 last_write_checksum: sha1:3cb4d8cb45777beccc517faca0606a3b27179701 pristine_git_object: cf4dfe4654ff6a4a15a16d41de6fe4c1f911ed66 - src/Models/Operations/InitiateMicroDeposits.php: - id: 56091add94a9 - last_write_checksum: sha1:a0eedcc37a5926979cf14e9b986f2f0317b4854c - pristine_git_object: d67118fd0572e25873067785ce854e8916f4c30f - src/Models/Operations/InitiateOrVerifyMicroDepositsLinks.php: - id: b59d087eb658 - last_write_checksum: sha1:ac674c0d9b9d0bb5f40ef39e7132acbf56926326 - pristine_git_object: e307540e69000fca020b5483a09bc464c5d18803 - src/Models/Operations/InitiateOrVerifyMicroDepositsRequest.php: - id: 379ce93e13bb - last_write_checksum: sha1:13236acc411873216fa0f611b1b1633cc49ae36e - pristine_git_object: e28acc168f2411be444866fae367498a8fc20aae - src/Models/Operations/InitiateOrVerifyMicroDepositsResponse.php: - id: ef024624167d - last_write_checksum: sha1:9fa09fbd81c3d9fbbadfd3d82696ffc9d379142f - pristine_git_object: d9a5e9c85061b6461dfa0ec678bd485344159fbe - src/Models/Operations/InitiateOrVerifyMicroDepositsResponseBody.php: - id: b5bb8210e7d8 - last_write_checksum: sha1:d352dd06c055790f9a6617c65bb6fd3bac18b099 - pristine_git_object: 1ff849d3469bd8855bca31de8f51eb4b8488180b - src/Models/Operations/InitiateOrVerifyMicroDepositsSelf.php: - id: c13642d2a681 - last_write_checksum: sha1:d52176ab665b69cc6872f9cddf61fbea96e91b72 - pristine_git_object: 03484bb7f8df9a414df4d61ac3ce47495cf31e63 + src/Models/Operations/InitiateMicroDepositsRequest.php: + id: 58eb227fe196 + last_write_checksum: sha1:a04054600f5d3c5c92fe23c4a782a43860231926 + pristine_git_object: 46aec08ff6502ef909f53040f70aa09ed92f1ed0 + src/Models/Operations/InitiateMicroDepositsResponse.php: + id: e9438472600d + last_write_checksum: sha1:1b271e170efd5ed08b94003dc5db85bcb9e343ee + pristine_git_object: 1e3711ebd3068ddb3082e8550eceb1ca6f57042b src/Models/Operations/InitiateTransferAchDetails.php: id: afd0bc7a68fc last_write_checksum: sha1:81af86e470e41c722367c931de5bd65ae2ef1f8a @@ -8686,8 +8542,8 @@ trackedFiles: pristine_git_object: a7ba2f5f6799f42543547f35412f640dbdeadd1d src/Models/Operations/UpdateRequest.php: id: 3efe82c99695 - last_write_checksum: sha1:36ba4a52f16c8110ea7e67e3ac3ca26daf48c05f - pristine_git_object: a3f2ef872d4fd9f3976d059ff4327046b58ec222 + last_write_checksum: sha1:06d3375e90e3528c1dec139ae4b76ae48ca0969d + pristine_git_object: 487ae467ddd326273eafcbffa5487b7eb6a30562 src/Models/Operations/UpdateResponse.php: id: 0a00c3f2cd29 last_write_checksum: sha1:30ddf7df613acd032e89948058b707ca9c00780f @@ -8732,6 +8588,34 @@ trackedFiles: id: 9e40536f4e3d last_write_checksum: sha1:649b4b55e787f6875f26444a32b041590c2fa29e pristine_git_object: 76f6d661c69cfe8ffc59706bcd46821b5368d3ea + src/Models/Operations/VerifyMicroDepositsEmbedded.php: + id: eb23b7ff3867 + last_write_checksum: sha1:642930f9cf9aab9df3a7aa88b5f83fc81a7a832a + pristine_git_object: 7bc4e6b26c9cf42138ec63297480cad092255e99 + src/Models/Operations/VerifyMicroDepositsLinks.php: + id: c45fd6fc2412 + last_write_checksum: sha1:1499f87f2e0ebf71c7919bde9e8992ebf8f4c764 + pristine_git_object: acab094d3894c1b089d0de775b1ec0f975cbcca5 + src/Models/Operations/VerifyMicroDepositsRequest.php: + id: b8c3873f5827 + last_write_checksum: sha1:829e6d8991717dd1ca87e48655e8b71cd3baf89c + pristine_git_object: 8ba1f50394a9a68fdfef7944574a42aa294fe0cf + src/Models/Operations/VerifyMicroDepositsRequestBody.php: + id: 6ab05b970685 + last_write_checksum: sha1:8309202e4a697a890b169f4fb2df703b146e8156 + pristine_git_object: 4ddb576667ce3b269f9b946ecc2c59184e0404d7 + src/Models/Operations/VerifyMicroDepositsResponse.php: + id: 8b50370c165d + last_write_checksum: sha1:433d1ed43acac47e0b392a628a3c275561d0c688 + pristine_git_object: 56c8e14923fe295b1a31cbed560d300937840b5d + src/Models/Operations/VerifyMicroDepositsResponseBody.php: + id: a8c717d09599 + last_write_checksum: sha1:887bc8fea1fbeaea2ec2a36d8249f506309b00c0 + pristine_git_object: ae84bf9baca9e8d93dd4d9f9254d83ea283a6e00 + src/Models/Operations/VerifyMicroDepositsSelf.php: + id: a569d2ca5a84 + last_write_checksum: sha1:d6659d63da1de15baffa5825d02d1332b2a887fc + pristine_git_object: ba704100860d2d0f46e69963e5347990f88379e4 src/OnDemandTransferAuthorizations.php: id: 8ccbaea15374 last_write_checksum: sha1:db77e9fe18efaec0c8b45b686bae03466f38dada @@ -8750,8 +8634,8 @@ trackedFiles: pristine_git_object: e736e36c30863e445a0080f0bd1b310854d706d6 src/SDKConfiguration.php: id: 9d60ab0bec0b - last_write_checksum: sha1:a9942f73e3e63a9ccb82ef586c2351c231f2a562 - pristine_git_object: b3e625622179deef550ab909f7b88a5f90927b9d + last_write_checksum: sha1:1c61cb95b7e97c09664e0d74d4ffc8f7192a28a0 + pristine_git_object: e90942687d5f50245eb184798243f8d6907f69fc src/SandboxSimulations.php: id: 0c15c34c441c last_write_checksum: sha1:d186651c41731a9aaa9fd4a1812a659f69f8e892 @@ -9874,4 +9758,30 @@ examples: application/vnd.dwolla.v1.hal+json: {"code": "BadRequest", "message": "The request body contains bad syntax or is incomplete."} "403": application/vnd.dwolla.v1.hal+json: {"code": "Forbidden", "message": "The supplied credentials are not authorized for this resource."} + initiateMicroDeposits: + speakeasy-default-initiate-micro-deposits: + parameters: + path: + id: "" + responses: + "403": + application/vnd.dwolla.v1.hal+json: {"code": "InvalidResourceState", "message": "Bank already verified."} + "404": + application/vnd.dwolla.v1.hal+json: {"code": "NotFound", "message": "The requested resource was not found."} + verifyMicroDeposits: + speakeasy-default-verify-micro-deposits: + parameters: + path: + id: "" + requestBody: + application/vnd.dwolla.v1.hal+json: {"amount1": {"value": "0.02", "currency": "USD"}, "amount2": {"value": "0.03", "currency": "USD"}} + responses: + "200": + application/vnd.dwolla.v1.hal+json: {"_links": {"self": {"href": "https://api-sandbox.dwolla.com/funding-sources/2e446d1b-fb3c-42a0-9691-5d1d6a4dbbf0/micro-deposits", "type": "application/vnd.dwolla.v1.hal+json", "resource-type": "micro-deposits"}}} + "400": + application/vnd.dwolla.v1.hal+json: {"code": "ValidationError", "message": "Validation error(s) present. See embedded errors list for more details.", "_embedded": {"errors": [{"code": "Invalid", "message": "Wrong amount(s).", "path": ""}]}} + "403": + application/vnd.dwolla.v1.hal+json: {"code": "InvalidResourceState", "message": "Too many attempts."} + "404": + application/vnd.dwolla.v1.hal+json: {"code": "NotFound", "message": "The requested resource was not found."} examplesVersion: 1.0.2 diff --git a/.speakeasy/gen.yaml b/.speakeasy/gen.yaml index a475e6b..83f38ef 100644 --- a/.speakeasy/gen.yaml +++ b/.speakeasy/gen.yaml @@ -13,6 +13,7 @@ generation: requestResponseComponentNamesFeb2024: true securityFeb2025: true sharedErrorComponentsApr2025: true + sharedNestedComponentsJan2026: false auth: oAuth2ClientCredentialsEnabled: true oAuth2PasswordEnabled: true @@ -28,7 +29,7 @@ generation: generateNewTests: true skipResponseBodyAssertions: false php: - version: 0.0.1 + version: 0.0.1-beta.1 additionalDependencies: autoload: {} autoload-dev: {} diff --git a/.speakeasy/out.openapi.yaml b/.speakeasy/out.openapi.yaml index 0edd40f..44fb02c 100644 --- a/.speakeasy/out.openapi.yaml +++ b/.speakeasy/out.openapi.yaml @@ -15,8 +15,10 @@ jsonSchemaDialect: https://spec.openapis.org/oas/3.1/dialect/base servers: - url: https://api.dwolla.com description: Production server + x-speakeasy-server-id: prod - url: https://api-sandbox.dwolla.com description: Sandbox server + x-speakeasy-server-id: sandbox security: - clientCredentials: [] tags: @@ -1012,23 +1014,7 @@ paths: description: Parameters for updating a Customer content: application/json: - schema: - oneOf: - - $ref: '#/components/schemas/DeactivateCustomer' - - $ref: '#/components/schemas/ReactivateCustomer' - - $ref: '#/components/schemas/SuspendCustomer' - - $ref: '#/components/schemas/UpdateUnverifiedAndReceiveOnly' - - $ref: '#/components/schemas/UpdateVerifiedPersonal' - - $ref: '#/components/schemas/UpdateVerifiedBusiness' - - $ref: '#/components/schemas/UpgradeToUnverified' - - $ref: '#/components/schemas/UpgradeToVerifiedPersonal' - - $ref: '#/components/schemas/UpgradeToVerifiedBusiness' - - $ref: '#/components/schemas/UpgradeToVerifiedSoleProp' - - $ref: '#/components/schemas/RetryVerifiedPersonal' - - $ref: '#/components/schemas/RetryVerifiedBusinessNoController' - - $ref: '#/components/schemas/RetryVerifiedBusinessWithController' - - $ref: '#/components/schemas/RetryVerifiedBusinessWithInternationalController' - - $ref: '#/components/schemas/RetryVerifiedSoleProp' + schema: {} responses: '200': description: successful operation @@ -3842,133 +3828,7 @@ paths: application/vnd.dwolla.v1.hal+json: schema: $ref: '#/components/schemas/NotFoundError' - post: - tags: - - funding sources - summary: Initiate or Verify micro-deposits - description: Handles micro-deposit bank verification process. Make a request without a request body to initiate two small deposits to the customer's bank account. Include deposit amounts to verify the received values and complete verification. - operationId: initiateOrVerifyMicroDeposits - x-speakeasy-group: fundingSources.microDeposits - x-speakeasy-name-override: initiateOrVerify - x-codeSamples: - - lang: bash - source: | - POST https://api-sandbox.dwolla.com/funding-sources/e52006c3-7560-4ff1-99d5-b0f3a6f4f909/micro-deposits - Authorization: Bearer 8tJjM7iTjujLthkbVPMUcHLqMNw4uv5kG712g9j1RRBHplGpwo - Content-Type: application/vnd.dwolla.v1.hal+json - Accept: application/vnd.dwolla.v1.hal+json - - lang: javascript - source: | - var fundingSourceUrl = - "https://api-sandbox.dwolla.com/funding-sources/e52006c3-7560-4ff1-99d5-b0f3a6f4f909"; - - dwolla.post(`${fundingSourceUrl}/micro-deposits`); - - lang: python - source: | - # Using dwollav2 - https://github.com/Dwolla/dwolla-v2-python - funding_source_url = 'https://api-sandbox.dwolla.com/funding-sources/e52006c3-7560-4ff1-99d5-b0f3a6f4f909' - - app_token.post('%s/micro-deposits' % funding_source_url) - - lang: php - source: | - microDeposits(null, $fundingSourceUrl); - ?> - - lang: ruby - source: | - # Using dwolla_v2 - https://github.com/Dwolla/dwolla-v2-ruby - funding_source_url = 'https://api-sandbox.dwolla.com/funding-sources/e52006c3-7560-4ff1-99d5-b0f3a6f4f909' - - app_token.post "#{funding_source_url}/micro-deposits" - parameters: - - name: id - in: path - description: The ID of the FS to initiate or verify micro-deposit - required: true - schema: - type: string - - $ref: '#/components/parameters/Accept' - requestBody: - required: false - description: | - Optional request body for verifying micro-deposits. - - If omitted: Endpoint will initiate micro-deposits - - If provided: Must contain micro-deposit amounts for verification - content: - application/json: - schema: - oneOf: - - type: - - object - - 'null' - title: InitiateMicroDeposits - description: No request body is required for initiating micro-deposits. - - $ref: '#/components/schemas/VerifyMicroDeposits' - description: Required request body for verifying micro-deposits - responses: - '200': - description: successful operation - headers: {} - content: - application/vnd.dwolla.v1.hal+json: - schema: - type: object - description: Response for microdeposits operations (initiation and verification) - properties: - _links: - type: object - properties: - self: - type: object - properties: - href: - type: string - format: uri - example: https://api-sandbox.dwolla.com/funding-sources/2e446d1b-fb3c-42a0-9691-5d1d6a4dbbf0/micro-deposits - type: - type: string - example: application/vnd.dwolla.v1.hal+json - resource-type: - type: string - example: micro-deposits - '201': - description: created - headers: - Location: - $ref: '#/components/headers/Location' - '403': - description: forbidden - headers: {} - content: - application/vnd.dwolla.v1.hal+json: - schema: - type: object - properties: - code: - type: string - example: InvalidResourceState - message: - type: string - example: Bank already verified. - '404': - description: not found - headers: {} - content: - application/vnd.dwolla.v1.hal+json: - schema: - type: object - properties: - code: - type: string - example: NotFound - message: - type: string - example: The requested resource was not found. + x-speakeasy-name-override: get /funding-sources/{id}/balance: get: tags: @@ -10002,94 +9862,296 @@ paths: application/vnd.dwolla.v1.hal+json: schema: $ref: '#/components/schemas/ForbiddenError' -components: - securitySchemes: - clientCredentials: - type: oauth2 - flows: - clientCredentials: - tokenUrl: /token - x-speakeasy-token-endpoint-authentication: client_secret_basic - scopes: {} - parameters: - Accept: - name: Accept - in: header - required: true - description: The media type of the response. Must be application/vnd.dwolla.v1.hal+json - schema: - type: string - enum: - - application/vnd.dwolla.v1.hal+json - default: application/vnd.dwolla.v1.hal+json - schemas: - HalLink: - title: HalLink - type: object - properties: - href: - type: string - example: https://api.dwolla.com - type: - type: string - example: application/vnd.dwolla.v1.hal+json - resource-type: - type: string - example: resource-type - Root: - title: Root - type: object - properties: - _links: - type: object - additionalProperties: - $ref: '#/components/schemas/HalLink' - Account: - title: Account - type: object - properties: - _links: - type: object - additionalProperties: - $ref: '#/components/schemas/HalLink' - id: - type: string - example: 2e21f010-3023-4891-aced-ed726d7cd5e1 - name: - type: string - example: Jane Doe's Business - timezoneOffset: - type: number - example: -6 - type: - type: string - example: Commercial - NotFoundError: - title: NotFoundError - description: Error response schema for 404 NotFound - type: object - required: - - code - - message - properties: - code: - type: string - example: NotFound - message: - type: string - example: The requested resource was not found. - CreateAccountFundingSource: - title: CreateAccountFundingSource - type: object - properties: - _links: - type: object - properties: - exchange: + "/funding-sources/{id}/micro-deposits#initiate": + post: + x-speakeasy-name-override: initiate + tags: + - funding sources + summary: Initiate micro-deposits + description: Initiates two small deposits to the customer's bank account for verification purposes. No request body is required. + operationId: initiateMicroDeposits + x-speakeasy-group: fundingSources.microDeposits + parameters: + - name: id + in: path + description: The ID of the funding source to initiate micro-deposits for + required: true + schema: + type: string + - name: Accept + in: header + required: true + schema: + type: string + default: application/vnd.dwolla.v1.hal+json + responses: + '201': + description: Micro-deposits initiated successfully + headers: + Location: + description: URL of the micro-deposits resource + schema: + type: string + example: "https://api-sandbox.dwolla.com/funding-sources/e52006c3-7560-4ff1-99d5-b0f3a6f4f909/micro-deposits" + '403': + description: Forbidden - funding source not eligible for micro-deposits + headers: {} + content: + application/vnd.dwolla.v1.hal+json: + schema: + type: object + properties: + code: + type: string + example: InvalidResourceState + message: + type: string + example: Bank already verified. + '404': + description: Funding source not found + headers: {} + content: + application/vnd.dwolla.v1.hal+json: + schema: + type: object + properties: + code: + type: string + example: NotFound + message: + type: string + example: The requested resource was not found. + "/funding-sources/{id}/micro-deposits#verify": + post: + x-speakeasy-name-override: verify + tags: + - funding sources + summary: Verify micro-deposits + description: Verifies the micro-deposit amounts received in the customer's bank account to complete funding source verification. + operationId: verifyMicroDeposits + x-speakeasy-group: fundingSources.microDeposits + parameters: + - name: id + in: path + description: The ID of the funding source to verify micro-deposits for + required: true + schema: + type: string + - name: Accept + in: header + required: true + schema: + type: string + default: application/vnd.dwolla.v1.hal+json + requestBody: + required: true + description: The micro-deposit amounts received in the bank account + content: + application/vnd.dwolla.v1.hal+json: + schema: type: object + required: + - amount1 + - amount2 properties: - href: - type: string + amount1: + type: object + required: + - value + - currency + properties: + value: + type: string + example: 0.02 + currency: + type: string + example: USD + amount2: + type: object + required: + - value + - currency + properties: + value: + type: string + example: 0.03 + currency: + type: string + example: USD + responses: + '200': + description: Micro-deposits verified successfully + headers: {} + content: + application/vnd.dwolla.v1.hal+json: + schema: + type: object + properties: + _links: + type: object + properties: + self: + type: object + properties: + href: + type: string + format: uri + example: 'https://api-sandbox.dwolla.com/funding-sources/2e446d1b-fb3c-42a0-9691-5d1d6a4dbbf0/micro-deposits' + type: + type: string + example: 'application/vnd.dwolla.v1.hal+json' + resource-type: + type: string + example: 'micro-deposits' + '400': + description: Bad Request - invalid deposit amounts + headers: {} + content: + application/vnd.dwolla.v1.hal+json: + schema: + type: object + properties: + code: + type: string + example: ValidationError + message: + type: string + example: Validation error(s) present. See embedded errors list for more details. + _embedded: + type: object + properties: + errors: + type: array + items: + type: object + properties: + code: + type: string + example: Invalid + message: + type: string + example: Wrong amount(s). + path: + type: string + example: "" + _links: + type: object + '403': + description: Forbidden - verification not allowed in current state + headers: {} + content: + application/vnd.dwolla.v1.hal+json: + schema: + type: object + properties: + code: + type: string + example: InvalidResourceState + message: + type: string + example: Too many attempts. + '404': + description: Funding source not found + headers: {} + content: + application/vnd.dwolla.v1.hal+json: + schema: + type: object + properties: + code: + type: string + example: NotFound + message: + type: string + example: The requested resource was not found. +components: + securitySchemes: + clientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: /token + x-speakeasy-token-endpoint-authentication: client_secret_basic + scopes: {} + parameters: + Accept: + name: Accept + in: header + required: true + description: The media type of the response. Must be application/vnd.dwolla.v1.hal+json + schema: + type: string + enum: + - application/vnd.dwolla.v1.hal+json + default: application/vnd.dwolla.v1.hal+json + schemas: + HalLink: + title: HalLink + type: object + properties: + href: + type: string + example: https://api.dwolla.com + type: + type: string + example: application/vnd.dwolla.v1.hal+json + resource-type: + type: string + example: resource-type + Root: + title: Root + type: object + properties: + _links: + type: object + additionalProperties: + $ref: '#/components/schemas/HalLink' + Account: + title: Account + type: object + properties: + _links: + type: object + additionalProperties: + $ref: '#/components/schemas/HalLink' + id: + type: string + example: 2e21f010-3023-4891-aced-ed726d7cd5e1 + name: + type: string + example: Jane Doe's Business + timezoneOffset: + type: number + example: -6 + type: + type: string + example: Commercial + NotFoundError: + title: NotFoundError + description: Error response schema for 404 NotFound + type: object + required: + - code + - message + properties: + code: + type: string + example: NotFound + message: + type: string + example: The requested resource was not found. + CreateAccountFundingSource: + title: CreateAccountFundingSource + type: object + properties: + _links: + type: object + properties: + exchange: + type: object + properties: + href: + type: string name: type: string bankAccountType: @@ -11381,120 +11443,117 @@ components: message: type: string example: The request body contains bad syntax or is incomplete. - DeactivateCustomer: - title: DeactivateCustomer - description: Deactivate a Customer + BusinessClassification: + title: BusinessClassification type: object - required: - - status properties: - status: + _links: + type: object + properties: + self: + $ref: '#/components/schemas/HalLink' + _embedded: + type: object + properties: + industry-classifications: + type: array + items: + type: object + properties: + id: + type: string + example: 9ed3f66b-7d6f-11e3-95ac-5404a6144203 + name: + type: string + example: Wineries + id: type: string - example: deactivated - ReactivateCustomer: - title: ReactivateCustomer - description: Reactivate a Customer + example: 9ed3f669-7d6f-11e3-b545-5404a6144203 + name: + type: string + example: Food retail and service + BusinessClassifications: + title: BusinessClassifications type: object - required: - - status properties: - status: - type: string - example: reactivated - SuspendCustomer: - title: SuspendCustomer - description: Suspend a Customer + _links: + additionalProperties: + $ref: '#/components/schemas/HalLink' + _embedded: + type: object + properties: + business-classifications: + type: array + items: + $ref: '#/components/schemas/BusinessClassification' + total: + type: integer + format: int32 + example: 3 + BeneficialOwner: + title: BeneficialOwner + description: Request body model for a Beneficial Owner type: object required: - - status + - _links + - id + - firstName + - lastName + - address + - verificationStatus + - created properties: - status: + _links: + additionalProperties: + $ref: '#/components/schemas/HalLink' + id: type: string - example: suspended - UpdateUnverifiedAndReceiveOnly: - title: UpdateUnverifiedAndReceiveOnly - description: Update Unverified Customer or Receive Only User Information - type: object - properties: + example: d3d6b41e-5567-4bc6-9c6e-0efd0a3e647e firstName: type: string example: John lastName: type: string example: Doe - email: + address: + $ref: '#/components/schemas/InternationalAddress' + verificationStatus: type: string - example: accountAdmin@email.com - businessName: + enum: + - verified + - document + - incomplete + example: verified + created: type: string - example: Jane Corp - UpdateVerifiedPersonal: - title: UpdateVerifiedPersonal - description: Update Verified Personal Customer Information + format: date-time + example: '2022-07-23T00:18:21.419Z' + BeneficialOwners: + title: BeneficialOwners + description: Request model for list beneficial owners type: object properties: - email: - type: string - example: accountAdmin@email.com - ipAddress: - type: string - example: 143.156.7.8 - address1: - type: string - example: 123 Main Street - address2: - type: string - example: XYZ Suite - city: - type: string - example: Des Moines - state: - type: string - example: IA - postalCode: - type: string - example: '50309' - phone: - type: string - example: '5555555555' - UpdateVerifiedBusiness: - title: UpdateVerifiedBusiness - description: Update Verified Business Customer Information (both Sole Proprietorship and Non-Sole Proprietorship) - allOf: - - $ref: '#/components/schemas/UpdateVerifiedPersonal' - - type: object + _links: + type: object + additionalProperties: + $ref: '#/components/schemas/HalLink' + _embedded: + type: object properties: - doingBusinessAs: - type: string - example: Jane's Electronics - website: - type: string - example: https://www.domain.com - UpgradeToUnverified: - title: UpgradeToUnverified - description: Upgrade Receive Only User to Unverified Customer - type: object - required: - - type - properties: - type: - type: string - example: unverified - UpgradeToVerifiedPersonal: - title: UpgradeToVerifiedPersonal - description: Upgrade Unverified Customer to Verified Personal Customer - type: object + beneficial-owners: + type: array + items: + $ref: '#/components/schemas/BeneficialOwner' + CreateUSBeneficialOwner: + title: CreateUSBeneficialOwner + description: Create a US Beneficial Owner (identified by SSN). For US-based beneficial owners only. Use SSN for identity verification instead of passport. required: - firstName - lastName - - email - - address1 - - city - - state - - postalCode - dateOfBirth - - type + - address - ssn + type: object properties: firstName: type: string @@ -11502,895 +11561,815 @@ components: lastName: type: string example: Doe - email: - type: string - example: johndoe@email.net - ipAddress: - type: string - example: 10.10.10.10 - type: - type: string - example: personal - address1: - type: string - example: 99-99 33rd St - city: - type: string - example: Some City - state: - type: string - example: NY - postalCode: - type: string - example: '11101' dateOfBirth: type: string - example: '1970-01-01' + example: '1980-01-31' + address: + $ref: '#/components/schemas/InternationalAddress' ssn: type: string - example: '1234' - UpgradeToVerifiedBusiness: - title: UpgradeToVerifiedBusiness - description: Upgrade Unverified Customer to Verified Business Customer - type: object + example: '123456789' + CreateInternationalBeneficialOwner: + title: CreateInternationalBeneficialOwner + description: Create an International Beneficial Owner (identified by Passport). For non-US beneficial owners who don't have a US SSN. Requires passport information for identity verification. required: - firstName - lastName - - email - - type - - address1 - - city - - state - - postalCode - - controller - - businessClassification - - businessType - - businessName - - ein + - dateOfBirth + - address + - passport + type: object properties: firstName: type: string - example: Account + example: Jane lastName: type: string - example: Admin - email: - type: string - example: accountAdmin@email.com - ipAddress: - type: string - example: 143.156.7.8 - type: - type: string - example: business - address1: - type: string - example: 99-99 33rd St - city: + example: Smith + dateOfBirth: type: string - example: Some City - state: + example: '1985-03-15' + address: + $ref: '#/components/schemas/InternationalAddress' + passport: + $ref: '#/components/schemas/Passport' + ValidationErrorSchema: + title: ValidationErrorSchema + type: object + required: + - code + - message + properties: + code: type: string - example: NY - postalCode: + example: ValidationError + message: type: string - example: '11101' - controller: + example: Validation error(s) present. See embedded errors list for more details. + _embedded: type: object - required: - - firstName - - lastName - - title - - dateOfBirth - - address properties: - firstName: - type: string - example: John - lastName: - type: string - example: Controller - title: - type: string - example: CEO - ssn: + code: type: string - example: '6789' - dateOfBirth: + example: ValidationError + message: type: string - example: '1980-01-31' - address: - type: object - required: - - address1 - - city - - stateProvinceRegion - - postalCode - - country - properties: - address1: - type: string - example: 1749 18th st - address2: - type: string - example: apt 12 - city: - type: string - example: Des Moines - stateProvinceRegion: - type: string - example: IA - postalCode: - type: string - example: '50266' - country: - type: string - example: US - businessClassification: - type: string - example: 9ed3f670-7d6f-11e3-b1ce-5404a6144203 - businessType: - type: string - example: llc - businessName: - type: string - example: Jane Corp - ein: - type: string - example: 00-0000000 - UpgradeToVerifiedSoleProp: - title: UpgradeToVerifiedSoleProp - description: Upgrade Unverified Customer to Verified Business Customer (Sole Proprietorship) + example: Validation error(s) present. See embedded errors list for more details. + BeneficialOwnership: + title: BeneficialOwnership type: object required: - - firstName - - lastName - - email - - type - - dateOfBirth - - ssn - - address1 - - city - - state - - postalCode - - businessClassification - - businessType - - businessName - - ein + - _links + - status properties: - firstName: - type: string - example: Business - lastName: + _links: + type: object + properties: + self: + $ref: '#/components/schemas/HalLink' + status: type: string - example: Owner - email: + enum: + - uncertified + - certified + - recertify + example: uncertified + Document: + title: Document + description: Identity verification document for a customer or beneficial owner + type: object + required: + - _links + - id + - status + - documentVerificationStatus + - type + - created + properties: + _links: + type: object + properties: + self: + $ref: '#/components/schemas/HalLink' + id: type: string - example: solePropBusiness@email.com - ipAddress: + description: Unique identifier for the document + example: 56502f7a-fa59-4a2f-8579-0f8bc9d7b9cc + status: type: string - example: 143.156.7.8 + description: Current status of the document upload + enum: + - pending + - reviewed + example: reviewed type: type: string - example: business - dateOfBirth: - type: string - example: '1980-01-31' - ssn: + description: Type of identity document uploaded + enum: + - passport + - license + - idCard + - other + example: passport + created: type: string - example: '6789' - address1: + format: date-time + description: ISO-8601 timestamp when the document was uploaded + example: '2015-09-29T21:42:16.000Z' + documentVerificationStatus: type: string - example: 99-99 33rd St - city: + description: Verification status of the document after review + enum: + - pending + - accepted + - rejected + example: rejected + failureReason: type: string - example: Some City - state: + description: Primary reason why document verification failed (if rejected) + example: ScanDobMismatch + allFailureReasons: + type: array + description: Complete list of all failure reasons if document verification was rejected + items: + type: object + required: + - reason + - description + properties: + reason: + type: string + description: Failure reason code + example: ScanDobMismatch + description: + type: string + description: Human-readable explanation of the failure reason + example: Scan DOB does not match DOB on account + Documents: + title: Documents + type: object + required: + - _links + - _embedded + - total + properties: + _links: + type: object + additionalProperties: + $ref: '#/components/schemas/HalLink' + _embedded: + type: object + required: + - documents + properties: + documents: + type: array + items: + $ref: '#/components/schemas/Document' + total: + type: integer + example: 2 + MaximumNumberOfResourcesSchema: + title: MaximumNumberOfResourcesSchema + type: object + required: + - code + - message + properties: + code: type: string - example: NY - postalCode: + example: maximumNumberOfResources + message: type: string - example: '11101' - businessClassification: + example: Max of four files upload allowed. Please wait for Dwolla to manually check the documents. + InvalidFileTypeSchema: + title: InvalidFileTypeSchema + type: object + required: + - code + - message + properties: + code: type: string - example: 9ed3f670-7d6f-11e3-b1ce-5404a6144203 - businessType: + example: invalidFileType + message: type: string - example: soleProprietorship - businessName: + example: 'File types supported: Personal IDs - .jpg, .jpeg or .png. Business Documents - .jpg, .jpeg, .png, or .pdf.' + InvalidResourceStateSchema: + title: InvalidResourceStateSchema + type: object + required: + - code + - message + properties: + code: type: string - example: Jane Corp - ein: + example: invalidResourceState + message: type: string - example: 00-0000000 - RetryVerifiedPersonal: - title: RetryVerifiedPersonal - description: Retry Verification for Verified Personal Customer + example: Resource cannot be modified. Document creation not allowed for already verified Customers or non-verified Customer types. + NotAuthorizedSchema: + title: NotAuthorizedSchema type: object required: - - firstName - - lastName - - email - - address1 - - city - - state - - postalCode - - dateOfBirth - - type - - ssn + - code + - message properties: - firstName: + code: type: string - example: John - lastName: + example: notAuthorized + message: type: string - example: Doe - email: + example: Not authorized to create documents. + InvalidKbaSessionError: + title: InvalidKbaSessionError + type: object + required: + - code + - message + properties: + code: type: string - example: johndoe@email.net - ipAddress: + example: InvalidResourceState + message: type: string - example: 10.10.10.10 - type: + example: The kba session is no longer valid. + ExpiredKbaSessionError: + title: ExpiredKbaSessionError + type: object + required: + - code + - message + properties: + code: type: string - example: personal - address1: + example: InvalidResourceState + message: type: string - example: 99-99 33rd St - city: + example: The kba session has expired. + CreateCustomerBankFundingSourceWithAccountNumbers: + title: CreateCustomerBankFundingSourceWithAccountNumbers + type: object + description: Schema for creating a basic bank funding source using routing and account numbers. This is the traditional method of adding a bank account. + required: + - routingNumber + - accountNumber + - bankAccountType + - name + properties: + routingNumber: type: string - example: Some City - state: + description: A bank routing number that identifies a bank or credit union in the U.S. + example: '222222226' + accountNumber: type: string - example: NY - postalCode: + description: The bank account number + example: '123456789' + bankAccountType: type: string - example: '11101' - dateOfBirth: + enum: + - checking + - savings + - general-ledger + - loan + description: Type of bank account + example: checking + name: type: string - example: '1970-01-01' - ssn: - type: string - example: '1234' - RetryVerifiedBusinessNoController: - title: RetryVerifiedBusinessNoController - description: Retry Verification for Verified Business Customer where only Business Details need to be retried + description: Arbitrary nickname for the funding source. Must be 50 characters or less. + example: Jane Doe's Checking + verified: + type: boolean + description: Use when creating an unverified bank account. + enum: + - false + example: false + channels: + type: array + items: + type: string + enum: + - wire + description: An array containing a list of processing channels. ACH is the default processing channel for bank transfers. + _links: + type: object + properties: + on-demand-authorization: + type: object + required: + - href + properties: + href: + type: string + format: uri + example: https://api-sandbox.dwolla.com/on-demand-authorizations/30e7c028-0bdf-e511-80de-0aa34a9b2388 + CreateCustomerBankFundingSourceWithPlaid: + title: CreateCustomerBankFundingSourceWithPlaid type: object + description: Schema for creating a bank funding source using a Plaid processor token. required: - - firstName - - lastName - - email - - type - - address1 - - city - - state - - postalCode - - businessClassification - - businessType - - businessName - - ein + - plaidToken + - bankAccountType + - name properties: - firstName: - type: string - example: Account - lastName: - type: string - example: Admin - email: - type: string - example: accountAdmin@email.com - ipAddress: - type: string - example: 143.156.7.8 - type: - type: string - example: business - address1: - type: string - example: 99-99 33rd St - city: - type: string - example: Some City - state: - type: string - example: NY - postalCode: + plaidToken: type: string - example: '11101' - businessClassification: + description: A processor token obtained from Plaid for adding and verifying a bank + example: processor-sandbox-plaidauth-123456 + bankAccountType: type: string - example: 9ed3f670-7d6f-11e3-b1ce-5404a6144203 - businessType: + enum: + - checking + - savings + description: Type of bank account + example: checking + name: type: string - example: llc - businessName: + description: Arbitrary nickname for the funding source. Must be 50 characters or less. + example: Jane Doe's Checking + channels: + type: array + items: + type: string + enum: + - wire + description: An array containing a list of processing channels. ACH is the default processing channel for bank transfers. + _links: + type: object + properties: + on-demand-authorization: + type: object + required: + - href + properties: + href: + type: string + format: uri + example: https://api-sandbox.dwolla.com/on-demand-authorizations/30e7c028-0bdf-e511-80de-0aa34a9b2388 + CreateCustomerExchangeFundingSource: + title: CreateCustomerExchangeFundingSource + type: object + description: Schema for creating a funding source using an exchange resource. This method is used when the bank account information is obtained via Instant Account Verification (IAV) through an exchange partner (like Plaid, MX, or Finicity). + required: + - _links + - bankAccountType + - name + properties: + _links: + type: object + required: + - exchange + properties: + exchange: + type: object + required: + - href + properties: + href: + type: string + format: uri + example: https://api-sandbox.dwolla.com/exchanges/6bc9109a-04fd-49b6-ace6-ca06fd282d65 + on-demand-authorization: + type: object + required: + - href + properties: + href: + type: string + format: uri + example: https://api-sandbox.dwolla.com/on-demand-authorizations/30e7c028-0bdf-e511-80de-0aa34a9b2388 + bankAccountType: type: string - example: Jane Corp - ein: + enum: + - checking + - savings + description: Type of bank account + example: checking + name: type: string - example: 00-0000000 - RetryVerifiedBusinessWithController: - title: RetryVerifiedBusinessWithController - description: Retry Verification for Verified Business Customer where Business Details as well as Controller Details need to be retried + description: Arbitrary nickname for the funding source. Must be 50 characters or less. + example: Jane Doe's Checking + CreateCustomerVirtualAccountFundingSource: + title: CreateCustomerVirtualAccountFundingSource type: object + description: Schema for creating a Virtual Account Number (VAN) . VANs are unique account numbers for receiving external transactions into a Dwolla Balance. required: - - firstName - - lastName - - email + - name - type - - address1 - - city - - state - - postalCode - - controller - - businessClassification - - businessType - - businessName - - ein + - bankAccountType properties: - firstName: - type: string - example: Account - lastName: - type: string - example: Admin - email: - type: string - example: accountAdmin@email.com - ipAddress: + name: type: string - example: 143.156.7.8 + description: Arbitrary nickname for the funding source. Must be 50 characters or less. + example: My First VAN type: type: string - example: business - address1: - type: string - example: 99-99 33rd St - city: + enum: + - virtual + description: Type of funding source. Must be set to "virtual" for VAN creation. + example: virtual + bankAccountType: type: string - example: Some City - state: + enum: + - checking + description: Type of bank account. Must be "checking" for Virtual Account Numbers. + example: checking + CreateCustomerCardFundingSource: + title: CreateCustomerCardFundingSource + type: object + description: Schema for creating a debit card funding source using a tokenized card. The card token is obtained from a card tokenization service. + required: + - cardToken + - name + - cardDetails + properties: + cardToken: type: string - example: NY - postalCode: + description: A tokenized representation of the card obtained from a card tokenization service + example: src_abc123_test_token_xyz789 + name: type: string - example: '11101' - controller: + description: Arbitrary nickname for the debit card funding source. Must be 50 characters or less. + example: My Visa Debit Card + cardDetails: type: object required: - - firstName - - lastName - - title - - ssn - - dateOfBirth - - address + - billingAddress properties: - firstName: - type: string - example: John - lastName: - type: string - example: Controller - title: - type: string - example: CEO - ssn: - type: string - example: '123456789' - dateOfBirth: - type: string - example: '1980-01-31' - address: + billingAddress: type: object + description: The billing address associated with the card required: - address1 - city - stateProvinceRegion - - postalCode - country + - postalCode properties: address1: type: string - example: 1749 18th st + description: First line of the street address. Must be 50 characters or less. + example: 123 Main St address2: type: string - example: apt 12 + description: Second line of the street address (optional). Must be 100 characters or less. + example: Apt 4B + address3: + type: string + description: Third line of the street address (optional). Must be 100 characters or less. + example: Unit 101 city: type: string - example: Des Moines + description: City name. Must be 50 characters or less. + example: Dallas stateProvinceRegion: type: string - example: IA - postalCode: - type: string - example: '50266' + description: Two-letter state, province, or region code. + example: TX country: type: string + description: Two-letter country code (ISO 3166-1 alpha-2) example: US - businessClassification: - type: string - example: 9ed3f670-7d6f-11e3-b1ce-5404a6144203 - businessType: - type: string - example: llc - businessName: - type: string - example: Jane Corp - ein: - type: string - example: 00-0000000 - RetryVerifiedBusinessWithInternationalController: - title: RetryVerifiedBusinessWithInternationalController - description: Retry Verification for Verified Business Customer where Business Details as well as International Controller Details need to be retried + postalCode: + type: string + description: Postal code or ZIP code + example: '76034' + CreateCustomerFundingSource: + title: Create Customer Funding Source + description: | + Parameters for creating customer funding sources using different methods: + - Bank Account: Traditional method using routing/account numbers + - Exchange: Using IAV through exchange partners (Plaid, MX, etc.) + - Virtual Account: Creating Virtual Account Numbers (VANs) + - Card: Creating debit card funding sources using tokenized card data + oneOf: + - $ref: '#/components/schemas/CreateCustomerBankFundingSourceWithAccountNumbers' + - $ref: '#/components/schemas/CreateCustomerBankFundingSourceWithPlaid' + - $ref: '#/components/schemas/CreateCustomerExchangeFundingSource' + - $ref: '#/components/schemas/CreateCustomerVirtualAccountFundingSource' + - $ref: '#/components/schemas/CreateCustomerCardFundingSource' + InactiveExchangeError: + title: InactiveExchangeError type: object required: - - firstName - - lastName - - email - - type - - address1 - - city - - state - - postalCode - - controller - - businessClassification - - businessType - - businessName - - ein + - code + - message properties: - firstName: - type: string - example: Account - lastName: + code: type: string - example: Admin - email: + example: InactiveExchange + message: type: string - example: accountAdmin@email.com - ipAddress: + example: The Exchange was removed or disabled. + InvalidExchangeTokenError: + title: InvalidExchangeTokenError + type: object + required: + - code + - message + properties: + code: type: string - example: 143.156.7.8 - type: + example: InvalidExchangeToken + message: type: string - example: business - address1: + example: The exchange token is not valid to perform this operation. + DuplicateFundingSourceError: + title: DuplicateFundingSourceError + type: object + required: + - code + - message + properties: + code: type: string - example: 99-99 33rd St - city: + example: ValidationError + message: type: string - example: Some City - state: + example: Duplicate funding source or validation error. Authorization already associated to a funding source. + UnsupportedCardCountryError: + title: UnsupportedCardCountryError + type: object + description: Error returned when attempting to create a debit card funding source from an unsupported country + required: + - code + - message + - _embedded + properties: + code: type: string - example: NY - postalCode: + example: ValidationError + message: type: string - example: '11101' - controller: + example: Validation error(s) present. See embedded errors list for more details. + _embedded: type: object required: - - firstName - - lastName - - title - - dateOfBirth - - address - - passport + - errors properties: - firstName: - type: string - example: John - lastName: - type: string - example: Controller - title: - type: string - example: CEO - dateOfBirth: - type: string - example: '1980-01-31' - address: - type: object - required: - - address1 - - city - - country - - stateProvinceRegion - properties: - address1: - type: string - example: 462 Main Street - address2: - type: string - example: Suite 123 - address3: - type: string - example: Unit 123 - city: - type: string - example: Des Moines - postalCode: - type: string - example: '50309' - country: - type: string - example: USA - stateProvinceRegion: - type: string - example: IA - passport: - type: object - required: - - number - - country - properties: - number: - type: string - country: - type: string - businessClassification: - type: string - example: 9ed3f670-7d6f-11e3-b1ce-5404a6144203 - businessType: - type: string - example: llc - businessName: - type: string - example: Jane Corp - ein: - type: string - example: 00-0000000 - RetryVerifiedSoleProp: - title: RetryVerifiedSoleProp - description: Retry Verification for Verified Business Customer (Sole Proprietorship) + errors: + type: array + items: + type: object + required: + - code + - message + - path + properties: + code: + type: string + example: Invalid + message: + type: string + example: The card's country is not supported. + path: + type: string + example: /cardToken + _links: + type: object + example: {} + InvalidCardTokenError: + title: InvalidCardTokenError type: object + description: Error returned when attempting to create a debit card funding source with an invalid card token required: - - firstName - - lastName - - email - - type - - dateOfBirth - - ssn - - address1 - - city - - state - - postalCode - - businessClassification - - businessType - - businessName - - ein + - code + - message + - _embedded properties: - firstName: - type: string - example: Business - lastName: - type: string - example: Owner - email: - type: string - example: solePropBusiness@email.com - ipAddress: + code: type: string - example: 143.156.7.8 - type: + example: ValidationError + message: type: string - example: business - dateOfBirth: - type: string - example: '1980-01-31' - ssn: - type: string - example: '6789' - address1: - type: string - example: 99-99 33rd St - city: - type: string - example: Some City - state: - type: string - example: NY - postalCode: - type: string - example: '11101' - businessClassification: - type: string - example: 9ed3f670-7d6f-11e3-b1ce-5404a6144203 - businessType: - type: string - example: soleProprietorship - businessName: - type: string - example: Jane Corp - ein: - type: string - example: 00-0000000 - BusinessClassification: - title: BusinessClassification - type: object - properties: - _links: - type: object - properties: - self: - $ref: '#/components/schemas/HalLink' + example: Validation error(s) present. See embedded errors list for more details. _embedded: type: object + required: + - errors properties: - industry-classifications: + errors: type: array items: type: object + required: + - code + - message + - path properties: - id: + code: type: string - example: 9ed3f66b-7d6f-11e3-95ac-5404a6144203 - name: + example: Invalid + message: type: string - example: Wineries - id: - type: string - example: 9ed3f669-7d6f-11e3-b545-5404a6144203 - name: - type: string - example: Food retail and service - BusinessClassifications: - title: BusinessClassifications + example: The card data is invalid. + path: + type: string + example: /cardToken + _links: + type: object + example: {} + MaximumCardsExceededError: + title: MaximumCardsExceededError type: object + description: Error returned when a customer has exceeded the maximum number of debit card funding sources + required: + - code + - message + - _embedded properties: - _links: - additionalProperties: - $ref: '#/components/schemas/HalLink' + code: + type: string + example: ValidationError + message: + type: string + example: Validation error(s) present. See embedded errors list for more details. _embedded: type: object + required: + - errors properties: - business-classifications: + errors: type: array items: - $ref: '#/components/schemas/BusinessClassification' - total: - type: integer - format: int32 - example: 3 - BeneficialOwner: - title: BeneficialOwner - description: Request body model for a Beneficial Owner + type: object + required: + - code + - message + - path + properties: + code: + type: string + example: Invalid + message: + type: string + example: The maximum number of cards has been exceeded. + path: + type: string + example: /cardToken + CardMissingRequiredFieldsError: + title: CardMissingRequiredFieldsError type: object + description: Error returned when required fields are missing when creating a debit card funding source required: - - _links - - id - - firstName - - lastName - - address - - verificationStatus - - created + - code + - message + - _embedded properties: - _links: - additionalProperties: - $ref: '#/components/schemas/HalLink' - id: - type: string - example: d3d6b41e-5567-4bc6-9c6e-0efd0a3e647e - firstName: - type: string - example: John - lastName: - type: string - example: Doe - address: - $ref: '#/components/schemas/InternationalAddress' - verificationStatus: + code: type: string - enum: - - verified - - document - - incomplete - example: verified - created: + example: ValidationError + message: type: string - format: date-time - example: '2022-07-23T00:18:21.419Z' - BeneficialOwners: - title: BeneficialOwners - description: Request model for list beneficial owners - type: object - properties: - _links: - type: object - additionalProperties: - $ref: '#/components/schemas/HalLink' + example: Validation error(s) present. See embedded errors list for more details. _embedded: type: object + required: + - errors properties: - beneficial-owners: + errors: type: array items: - $ref: '#/components/schemas/BeneficialOwner' - CreateUSBeneficialOwner: - title: CreateUSBeneficialOwner - description: Create a US Beneficial Owner (identified by SSN). For US-based beneficial owners only. Use SSN for identity verification instead of passport. - required: - - firstName - - lastName - - dateOfBirth - - address - - ssn + type: object + required: + - code + - message + - path + properties: + code: + type: string + example: Required + message: + type: string + example: Card token is required. + path: + type: string + example: /cardToken + UpdateUnverifiedBank: + title: UpdateUnverifiedBank + description: Request body for updating information of an unverified bank funding source type: object + required: + - name properties: - firstName: + routingNumber: type: string - example: John - lastName: + example: '222222226' + accountNumber: type: string - example: Doe - dateOfBirth: + example: '123456789' + bankAccountType: type: string - example: '1980-01-31' - address: - $ref: '#/components/schemas/InternationalAddress' - ssn: + example: checking + name: type: string - example: '123456789' - CreateInternationalBeneficialOwner: - title: CreateInternationalBeneficialOwner - description: Create an International Beneficial Owner (identified by Passport). For non-US beneficial owners who don't have a US SSN. Requires passport information for identity verification. - required: - - firstName - - lastName - - dateOfBirth - - address - - passport + example: Jane Doe’s Checking + UpdateVerifiedBank: + title: UpdateVerifiedBank + description: Request body for updating information of a Verified bank funding source type: object + required: + - name properties: - firstName: - type: string - example: Jane - lastName: - type: string - example: Smith - dateOfBirth: + name: type: string - example: '1985-03-15' - address: - $ref: '#/components/schemas/InternationalAddress' - passport: - $ref: '#/components/schemas/Passport' - ValidationErrorSchema: - title: ValidationErrorSchema + example: Jane Doe’s Checking + RemoveBank: + title: RemoveBank + description: Request body for removing a bank funding source type: object required: - - code - - message + - removed properties: - code: - type: string - example: ValidationError - message: - type: string - example: Validation error(s) present. See embedded errors list for more details. - _embedded: - type: object - properties: - code: - type: string - example: ValidationError - message: - type: string - example: Validation error(s) present. See embedded errors list for more details. - BeneficialOwnership: - title: BeneficialOwnership + removed: + type: boolean + example: true + VerifyMicroDeposits: + title: VerifyMicroDeposits + description: Request body for verifying micro-deposits type: object required: - - _links - - status + - amount1 + - amount2 properties: - _links: + amount1: type: object + required: + - value + - currency properties: - self: - $ref: '#/components/schemas/HalLink' - status: - type: string - enum: - - uncertified - - certified - - recertify - example: uncertified - Document: - title: Document - description: Identity verification document for a customer or beneficial owner + value: + type: string + example: '0.02' + currency: + type: string + example: USD + amount2: + type: object + required: + - value + - currency + properties: + value: + type: string + example: '0.03' + currency: + type: string + example: USD + OnDemandAuthorization: + title: OnDemandAuthorization type: object - required: - - _links - - id - - status - - documentVerificationStatus - - type - - created properties: _links: type: object properties: self: - $ref: '#/components/schemas/HalLink' - id: - type: string - description: Unique identifier for the document - example: 56502f7a-fa59-4a2f-8579-0f8bc9d7b9cc - status: - type: string - description: Current status of the document upload - enum: - - pending - - reviewed - example: reviewed - type: - type: string - description: Type of identity document uploaded - enum: - - passport - - license - - idCard - - other - example: passport - created: - type: string - format: date-time - description: ISO-8601 timestamp when the document was uploaded - example: '2015-09-29T21:42:16.000Z' - documentVerificationStatus: + type: object + properties: + href: + type: string + example: https://api.dwolla.com/on-demand-authorizations/30e7c028-0bdf-e511-80de-0aa34a9b2388 + bodyText: type: string - description: Verification status of the document after review - enum: - - pending - - accepted - - rejected - example: rejected - failureReason: + example: I agree that future payments to Company ABC inc. will be processed by the Dwolla payment system from the selected account above. In order to cancel this authorization, I will change my payment settings within my Company ABC inc. account. + buttonText: type: string - description: Primary reason why document verification failed (if rejected) - example: ScanDobMismatch - allFailureReasons: - type: array - description: Complete list of all failure reasons if document verification was rejected - items: - type: object - required: - - reason - - description - properties: - reason: - type: string - description: Failure reason code - example: ScanDobMismatch - description: - type: string - description: Human-readable explanation of the failure reason - example: Scan DOB does not match DOB on account - Documents: - title: Documents + example: Agree & Continue + SourceNotFoundError: + title: SourceNotFoundError type: object required: - - _links - - _embedded - - total + - code + - message properties: - _links: - type: object - additionalProperties: - $ref: '#/components/schemas/HalLink' + code: + type: string + example: ValidationError + message: + type: string + example: Validation error(s) present. See embedded errors list for more details. _embedded: type: object - required: - - documents properties: - documents: + errors: type: array items: - $ref: '#/components/schemas/Document' - total: - type: integer - example: 2 - MaximumNumberOfResourcesSchema: - title: MaximumNumberOfResourcesSchema + type: object + properties: + code: + type: string + example: Invalid + message: + type: string + example: Funding source not found. + path: + type: string + example: /_links/source/href + _links: + type: object + example: {} + ReceiverNotFoundError: + title: ReceiverNotFoundError type: object required: - code @@ -12398,12 +12377,32 @@ components: properties: code: type: string - example: maximumNumberOfResources + example: ValidationError message: type: string - example: Max of four files upload allowed. Please wait for Dwolla to manually check the documents. - InvalidFileTypeSchema: - title: InvalidFileTypeSchema + example: Validation error(s) present. See embedded errors list for more details. + _embedded: + type: object + properties: + errors: + type: array + items: + type: object + properties: + code: + type: string + example: Invalid + message: + type: string + example: Receiver not found. + path: + type: string + example: /_links/destination/href + _links: + type: object + example: {} + InvalidSourceFundingSourceError: + title: InvalidSourceFundingSourceError type: object required: - code @@ -12411,12 +12410,32 @@ components: properties: code: type: string - example: invalidFileType + example: ValidationError message: type: string - example: 'File types supported: Personal IDs - .jpg, .jpeg or .png. Business Documents - .jpg, .jpeg, .png, or .pdf.' - InvalidResourceStateSchema: - title: InvalidResourceStateSchema + example: Validation error(s) present. See embedded errors list for more details. + _embedded: + type: object + properties: + errors: + type: array + items: + type: object + properties: + code: + type: string + example: Invalid + message: + type: string + example: Invalid funding source. + path: + type: string + example: /_links/source/href + _links: + type: object + example: {} + SenderRestrictedError: + title: SenderRestrictedError type: object required: - code @@ -12424,12 +12443,32 @@ components: properties: code: type: string - example: invalidResourceState + example: ValidationError message: type: string - example: Resource cannot be modified. Document creation not allowed for already verified Customers or non-verified Customer types. - NotAuthorizedSchema: - title: NotAuthorizedSchema + example: Validation error(s) present. See embedded errors list for more details. + _embedded: + type: object + properties: + errors: + type: array + items: + type: object + properties: + code: + type: string + example: Restricted + message: + type: string + example: Sender restricted. + path: + type: string + example: /_links/source/href + _links: + type: object + example: {} + ReceiverRestrictedError: + title: ReceiverRestrictedError type: object required: - code @@ -12437,12 +12476,32 @@ components: properties: code: type: string - example: notAuthorized + example: ValidationError message: type: string - example: Not authorized to create documents. - InvalidKbaSessionError: - title: InvalidKbaSessionError + example: Validation error(s) present. See embedded errors list for more details. + _embedded: + type: object + properties: + errors: + type: array + items: + type: object + properties: + code: + type: string + example: Restricted + message: + type: string + example: Receiver restricted. + path: + type: string + example: /_links/destination/href + _links: + type: object + example: {} + InvalidMetadataError: + title: InvalidMetadataError type: object required: - code @@ -12450,12 +12509,32 @@ components: properties: code: type: string - example: InvalidResourceState + example: ValidationError message: type: string - example: The kba session is no longer valid. - ExpiredKbaSessionError: - title: ExpiredKbaSessionError + example: Validation error(s) present. See embedded errors list for more details. + _embedded: + type: object + properties: + errors: + type: array + items: + type: object + properties: + code: + type: string + example: Invalid + message: + type: string + example: Invalid metadata. + path: + type: string + example: /metadata + _links: + type: object + example: {} + OperationBlockedError: + title: OperationBlockedError type: object required: - code @@ -12463,279 +12542,131 @@ components: properties: code: type: string - example: InvalidResourceState + example: ValidationError message: type: string - example: The kba session has expired. - CreateCustomerBankFundingSourceWithAccountNumbers: - title: CreateCustomerBankFundingSourceWithAccountNumbers + example: Validation error(s) present. See embedded errors list for more details. + _embedded: + type: object + properties: + errors: + type: array + items: + type: object + properties: + code: + type: string + example: NotAllowed + message: + type: string + example: Receiver cannot receive from sender. + path: + type: string + example: /_links/destination/href + _links: + type: object + example: {} + InvalidAmountLimitError: + title: InvalidAmountLimitError type: object - description: Schema for creating a basic bank funding source using routing and account numbers. This is the traditional method of adding a bank account. required: - - routingNumber - - accountNumber - - bankAccountType - - name + - code + - message properties: - routingNumber: - type: string - description: A bank routing number that identifies a bank or credit union in the U.S. - example: '222222226' - accountNumber: - type: string - description: The bank account number - example: '123456789' - bankAccountType: + code: type: string - enum: - - checking - - savings - - general-ledger - - loan - description: Type of bank account - example: checking - name: + example: ValidationError + message: type: string - description: Arbitrary nickname for the funding source. Must be 50 characters or less. - example: Jane Doe's Checking - verified: - type: boolean - description: Use when creating an unverified bank account. - enum: - - false - example: false - channels: - type: array - items: - type: string - enum: - - wire - description: An array containing a list of processing channels. ACH is the default processing channel for bank transfers. - _links: + example: Validation error(s) present. See embedded errors list for more details. + _embedded: type: object properties: - on-demand-authorization: - type: object - required: - - href - properties: - href: - type: string - format: uri - example: https://api-sandbox.dwolla.com/on-demand-authorizations/30e7c028-0bdf-e511-80de-0aa34a9b2388 - CreateCustomerBankFundingSourceWithPlaid: - title: CreateCustomerBankFundingSourceWithPlaid + errors: + type: array + items: + type: object + properties: + code: + type: string + example: Invalid + message: + type: string + example: Invalid amount. The supplied amount is greater than your transaction limit. + path: + type: string + example: /amount/value + _links: + type: object + example: {} + CannotParseAmountError: + title: CannotParseAmountError type: object - description: Schema for creating a bank funding source using a Plaid processor token. required: - - plaidToken - - bankAccountType - - name + - code + - message properties: - plaidToken: - type: string - description: A processor token obtained from Plaid for adding and verifying a bank - example: processor-sandbox-plaidauth-123456 - bankAccountType: + code: type: string - enum: - - checking - - savings - description: Type of bank account - example: checking - name: + example: ValidationError + message: type: string - description: Arbitrary nickname for the funding source. Must be 50 characters or less. - example: Jane Doe's Checking - channels: - type: array - items: - type: string - enum: - - wire - description: An array containing a list of processing channels. ACH is the default processing channel for bank transfers. - _links: + example: Validation error(s) present. See embedded errors list for more details. + _embedded: type: object properties: - on-demand-authorization: - type: object - required: - - href - properties: - href: - type: string - format: uri - example: https://api-sandbox.dwolla.com/on-demand-authorizations/30e7c028-0bdf-e511-80de-0aa34a9b2388 - CreateCustomerExchangeFundingSource: - title: CreateCustomerExchangeFundingSource + errors: + type: array + items: + type: object + properties: + code: + type: string + example: InvalidFormat + message: + type: string + example: Invalid amount. The supplied amount must be a positive number. + path: + type: string + example: /amount/value + _links: + type: object + example: {} + InsufficientFundsError: + title: InsufficientFundsError type: object - description: Schema for creating a funding source using an exchange resource. This method is used when the bank account information is obtained via Instant Account Verification (IAV) through an exchange partner (like Plaid, MX, or Finicity). required: - - _links - - bankAccountType - - name + - code + - message properties: - _links: + code: + type: string + example: ValidationError + message: + type: string + example: Validation error(s) present. See embedded errors list for more details. + _embedded: type: object - required: - - exchange properties: - exchange: - type: object - required: - - href - properties: - href: - type: string - format: uri - example: https://api-sandbox.dwolla.com/exchanges/6bc9109a-04fd-49b6-ace6-ca06fd282d65 - on-demand-authorization: - type: object - required: - - href - properties: - href: - type: string - format: uri - example: https://api-sandbox.dwolla.com/on-demand-authorizations/30e7c028-0bdf-e511-80de-0aa34a9b2388 - bankAccountType: - type: string - enum: - - checking - - savings - description: Type of bank account - example: checking - name: - type: string - description: Arbitrary nickname for the funding source. Must be 50 characters or less. - example: Jane Doe's Checking - CreateCustomerVirtualAccountFundingSource: - title: CreateCustomerVirtualAccountFundingSource - type: object - description: Schema for creating a Virtual Account Number (VAN) . VANs are unique account numbers for receiving external transactions into a Dwolla Balance. - required: - - name - - type - - bankAccountType - properties: - name: - type: string - description: Arbitrary nickname for the funding source. Must be 50 characters or less. - example: My First VAN - type: - type: string - enum: - - virtual - description: Type of funding source. Must be set to "virtual" for VAN creation. - example: virtual - bankAccountType: - type: string - enum: - - checking - description: Type of bank account. Must be "checking" for Virtual Account Numbers. - example: checking - CreateCustomerCardFundingSource: - title: CreateCustomerCardFundingSource - type: object - description: Schema for creating a debit card funding source using a tokenized card. The card token is obtained from a card tokenization service. - required: - - cardToken - - name - - cardDetails - properties: - cardToken: - type: string - description: A tokenized representation of the card obtained from a card tokenization service - example: src_abc123_test_token_xyz789 - name: - type: string - description: Arbitrary nickname for the debit card funding source. Must be 50 characters or less. - example: My Visa Debit Card - cardDetails: - type: object - required: - - billingAddress - properties: - billingAddress: - type: object - description: The billing address associated with the card - required: - - address1 - - city - - stateProvinceRegion - - country - - postalCode - properties: - address1: - type: string - description: First line of the street address. Must be 50 characters or less. - example: 123 Main St - address2: - type: string - description: Second line of the street address (optional). Must be 100 characters or less. - example: Apt 4B - address3: - type: string - description: Third line of the street address (optional). Must be 100 characters or less. - example: Unit 101 - city: - type: string - description: City name. Must be 50 characters or less. - example: Dallas - stateProvinceRegion: - type: string - description: Two-letter state, province, or region code. - example: TX - country: - type: string - description: Two-letter country code (ISO 3166-1 alpha-2) - example: US - postalCode: - type: string - description: Postal code or ZIP code - example: '76034' - CreateCustomerFundingSource: - title: Create Customer Funding Source - description: | - Parameters for creating customer funding sources using different methods: - - Bank Account: Traditional method using routing/account numbers - - Exchange: Using IAV through exchange partners (Plaid, MX, etc.) - - Virtual Account: Creating Virtual Account Numbers (VANs) - - Card: Creating debit card funding sources using tokenized card data - oneOf: - - $ref: '#/components/schemas/CreateCustomerBankFundingSourceWithAccountNumbers' - - $ref: '#/components/schemas/CreateCustomerBankFundingSourceWithPlaid' - - $ref: '#/components/schemas/CreateCustomerExchangeFundingSource' - - $ref: '#/components/schemas/CreateCustomerVirtualAccountFundingSource' - - $ref: '#/components/schemas/CreateCustomerCardFundingSource' - InactiveExchangeError: - title: InactiveExchangeError - type: object - required: - - code - - message - properties: - code: - type: string - example: InactiveExchange - message: - type: string - example: The Exchange was removed or disabled. - InvalidExchangeTokenError: - title: InvalidExchangeTokenError - type: object - required: - - code - - message - properties: - code: - type: string - example: InvalidExchangeToken - message: - type: string - example: The exchange token is not valid to perform this operation. - DuplicateFundingSourceError: - title: DuplicateFundingSourceError + errors: + type: array + items: + type: object + properties: + code: + type: string + example: InsufficientFunds + message: + type: string + example: Insufficient funds. + path: + type: string + example: /_links/source/href + _links: + type: object + example: {} + FacilitatorFeeAccountNotFoundError: + title: FacilitatorFeeAccountNotFoundError type: object required: - code @@ -12746,15 +12677,33 @@ components: example: ValidationError message: type: string - example: Duplicate funding source or validation error. Authorization already associated to a funding source. - UnsupportedCardCountryError: - title: UnsupportedCardCountryError + example: Validation error(s) present. See embedded errors list for more details. + _embedded: + type: object + properties: + errors: + type: array + items: + type: object + properties: + code: + type: string + example: Invalid + message: + type: string + example: Facilitator fee account not found. + path: + type: string + example: '' + _links: + type: object + example: {} + FacilitatorFeeSumTooLargeError: + title: FacilitatorFeeSumTooLargeError type: object - description: Error returned when attempting to create a debit card funding source from an unsupported country required: - code - message - - _embedded properties: code: type: string @@ -12764,38 +12713,30 @@ components: example: Validation error(s) present. See embedded errors list for more details. _embedded: type: object - required: - - errors properties: errors: type: array items: type: object - required: - - code - - message - - path properties: code: type: string example: Invalid message: type: string - example: The card's country is not supported. + example: Facilitator fee sum too large. path: type: string - example: /cardToken + example: '' _links: type: object example: {} - InvalidCardTokenError: - title: InvalidCardTokenError + FacilitatorFeeBelowMinimumError: + title: FacilitatorFeeBelowMinimumError type: object - description: Error returned when attempting to create a debit card funding source with an invalid card token required: - code - message - - _embedded properties: code: type: string @@ -12805,38 +12746,30 @@ components: example: Validation error(s) present. See embedded errors list for more details. _embedded: type: object - required: - - errors properties: errors: type: array items: type: object - required: - - code - - message - - path properties: code: type: string example: Invalid message: type: string - example: The card data is invalid. + example: Facilitator fee below minimum. path: type: string - example: /cardToken + example: '' _links: type: object example: {} - MaximumCardsExceededError: - title: MaximumCardsExceededError + HighRiskError: + title: HighRiskError type: object - description: Error returned when a customer has exceeded the maximum number of debit card funding sources required: - code - message - - _embedded properties: code: type: string @@ -12846,35 +12779,30 @@ components: example: Validation error(s) present. See embedded errors list for more details. _embedded: type: object - required: - - errors properties: errors: type: array items: type: object - required: - - code - - message - - path properties: code: type: string - example: Invalid + example: NotAllowed message: type: string - example: The maximum number of cards has been exceeded. + example: Due to account restrictions, we are unable to process this transaction. path: type: string - example: /cardToken - CardMissingRequiredFieldsError: - title: CardMissingRequiredFieldsError + example: /_links/destination/href + _links: + type: object + example: {} + IncompatibleHoldingsError: + title: IncompatibleHoldingsError type: object - description: Error returned when required fields are missing when creating a debit card funding source required: - code - message - - _embedded properties: code: type: string @@ -12884,119 +12812,26 @@ components: example: Validation error(s) present. See embedded errors list for more details. _embedded: type: object - required: - - errors properties: errors: type: array items: type: object - required: - - code - - message - - path properties: code: type: string - example: Required + example: NotAllowed message: type: string - example: Card token is required. + example: Receiver cannot receive from sender. path: type: string - example: /cardToken - UpdateUnverifiedBank: - title: UpdateUnverifiedBank - description: Request body for updating information of an unverified bank funding source - type: object - required: - - name - properties: - routingNumber: - type: string - example: '222222226' - accountNumber: - type: string - example: '123456789' - bankAccountType: - type: string - example: checking - name: - type: string - example: Jane Doe’s Checking - UpdateVerifiedBank: - title: UpdateVerifiedBank - description: Request body for updating information of a Verified bank funding source - type: object - required: - - name - properties: - name: - type: string - example: Jane Doe’s Checking - RemoveBank: - title: RemoveBank - description: Request body for removing a bank funding source - type: object - required: - - removed - properties: - removed: - type: boolean - example: true - VerifyMicroDeposits: - title: VerifyMicroDeposits - description: Request body for verifying micro-deposits - type: object - required: - - amount1 - - amount2 - properties: - amount1: - type: object - required: - - value - - currency - properties: - value: - type: string - example: '0.02' - currency: - type: string - example: USD - amount2: - type: object - required: - - value - - currency - properties: - value: - type: string - example: '0.03' - currency: - type: string - example: USD - OnDemandAuthorization: - title: OnDemandAuthorization - type: object - properties: - _links: - type: object - properties: - self: - type: object - properties: - href: - type: string - example: https://api.dwolla.com/on-demand-authorizations/30e7c028-0bdf-e511-80de-0aa34a9b2388 - bodyText: - type: string - example: I agree that future payments to Company ABC inc. will be processed by the Dwolla payment system from the selected account above. In order to cancel this authorization, I will change my payment settings within my Company ABC inc. account. - buttonText: - type: string - example: Agree & Continue - SourceNotFoundError: - title: SourceNotFoundError + example: /_links/destination/href + _links: + type: object + example: {} + DirectAccountWithoutBankError: + title: DirectAccountWithoutBankError type: object required: - code @@ -13018,18 +12853,18 @@ components: properties: code: type: string - example: Invalid + example: RequiresFundingSource message: type: string - example: Funding source not found. + example: Receiver requires funding source. path: type: string - example: /_links/source/href + example: /_links/destination/href _links: type: object example: {} - ReceiverNotFoundError: - title: ReceiverNotFoundError + SourceSameAsDestinationError: + title: SourceSameAsDestinationError type: object required: - code @@ -13054,15 +12889,15 @@ components: example: Invalid message: type: string - example: Receiver not found. + example: Receiver cannot be the owner of the source funding source. path: type: string example: /_links/destination/href _links: type: object example: {} - InvalidSourceFundingSourceError: - title: InvalidSourceFundingSourceError + InvalidFacilitatorError: + title: InvalidFacilitatorError type: object required: - code @@ -13087,15 +12922,15 @@ components: example: Invalid message: type: string - example: Invalid funding source. + example: Account cannot facilitate this transaction. path: type: string - example: /_links/source/href + example: '' _links: type: object example: {} - SenderRestrictedError: - title: SenderRestrictedError + InvalidFacilitatorFeeCollectFromError: + title: InvalidFacilitatorFeeCollectFromError type: object required: - code @@ -13117,18 +12952,18 @@ components: properties: code: type: string - example: Restricted + example: Invalid message: type: string - example: Sender restricted. + example: Unable to charge fee to specified destination. path: type: string - example: /_links/source/href + example: /fees/_links/charge-to/href _links: type: object example: {} - ReceiverRestrictedError: - title: ReceiverRestrictedError + InvalidFacilitatorFeeCollectFromCombinationError: + title: InvalidFacilitatorFeeCollectFromCombinationError type: object required: - code @@ -13150,18 +12985,18 @@ components: properties: code: type: string - example: Restricted + example: Invalid message: type: string - example: Receiver restricted. + example: Currently, all fees must be paid by same destination." path: type: string - example: /_links/destination/href + example: /fees/_links/charge-to/href _links: type: object example: {} - InvalidMetadataError: - title: InvalidMetadataError + InvalidDestinationFundingSourceError: + title: InvalidDestinationFundingSourceError type: object required: - code @@ -13186,15 +13021,15 @@ components: example: Invalid message: type: string - example: Invalid metadata. + example: Invalid destination funding source. path: type: string - example: /metadata + example: /_links/destination/href _links: type: object example: {} - OperationBlockedError: - title: OperationBlockedError + InvalidOrRemovedCardDestinationError: + title: InvalidOrRemovedCardDestinationError type: object required: - code @@ -13216,18 +13051,18 @@ components: properties: code: type: string - example: NotAllowed + example: Invalid message: type: string - example: Receiver cannot receive from sender. + example: Destination funding source is either removed or does not exist. path: type: string example: /_links/destination/href _links: type: object example: {} - InvalidAmountLimitError: - title: InvalidAmountLimitError + InvalidFacilitatorFeeAmountError: + title: InvalidFacilitatorFeeAmountError type: object required: - code @@ -13252,15 +13087,15 @@ components: example: Invalid message: type: string - example: Invalid amount. The supplied amount is greater than your transaction limit. + example: Invalid facilitator fee amount. path: type: string - example: /amount/value + example: /fees/_links/charge-to/href _links: type: object example: {} - CannotParseAmountError: - title: CannotParseAmountError + WeeklyReceiveLimitReachedError: + title: WeeklyReceiveLimitReachedError type: object required: - code @@ -13282,18 +13117,18 @@ components: properties: code: type: string - example: InvalidFormat + example: Restricted message: type: string - example: Invalid amount. The supplied amount must be a positive number. + example: Destination customer has reached its weekly receive limit. path: type: string - example: /amount/value + example: /_links/destination/href _links: type: object example: {} - InsufficientFundsError: - title: InsufficientFundsError + InvalidDestinationClearingTypeError: + title: InvalidDestinationClearingTypeError type: object required: - code @@ -13315,18 +13150,18 @@ components: properties: code: type: string - example: InsufficientFunds + example: Restricted message: type: string - example: Insufficient funds. + example: Destination clearing type is currently not enabled. path: type: string - example: /_links/source/href + example: /clearing/destination _links: type: object example: {} - FacilitatorFeeAccountNotFoundError: - title: FacilitatorFeeAccountNotFoundError + InvalidAmountForDestinationClearingTypeError: + title: InvalidAmountForDestinationClearingTypeError type: object required: - code @@ -13348,18 +13183,18 @@ components: properties: code: type: string - example: Invalid + example: Restricted message: type: string - example: Facilitator fee account not found. + example: Amount is above the allowed threshold for the specified destination clearing type. path: type: string - example: '' + example: /amount/value _links: type: object example: {} - FacilitatorFeeSumTooLargeError: - title: FacilitatorFeeSumTooLargeError + InvalidCorrelationIdError: + title: InvalidCorrelationIdError type: object required: - code @@ -13381,18 +13216,18 @@ components: properties: code: type: string - example: Invalid + example: InvalidFormat message: type: string - example: Facilitator fee sum too large. + example: Correlation id must be at least one character and up to 255 characters when supplied. path: type: string - example: '' + example: /correlationId _links: type: object example: {} - FacilitatorFeeBelowMinimumError: - title: FacilitatorFeeBelowMinimumError + SourceAddendaMaxLengthError: + title: SourceAddendaMaxLengthError type: object required: - code @@ -13414,18 +13249,18 @@ components: properties: code: type: string - example: Invalid + example: InvalidFormat message: type: string - example: Facilitator fee below minimum. + example: Ach addenda entries can be up to 80 characters when supplied. path: type: string - example: '' + example: /achDetails/source/addenda/values _links: type: object example: {} - HighRiskError: - title: HighRiskError + DestinationAddendaMaxLengthError: + title: DestinationAddendaMaxLengthError type: object required: - code @@ -13447,18 +13282,18 @@ components: properties: code: type: string - example: NotAllowed + example: InvalidFormat message: type: string - example: Due to account restrictions, we are unable to process this transaction. + example: Ach addenda entries can be up to 80 characters when supplied. path: type: string - example: /_links/destination/href + example: /achDetails/destination/addenda/values _links: type: object example: {} - IncompatibleHoldingsError: - title: IncompatibleHoldingsError + AchAddendaEntriesNotEnabledForAccountError: + title: AchAddendaEntriesNotEnabledForAccountError type: object required: - code @@ -13483,15 +13318,15 @@ components: example: NotAllowed message: type: string - example: Receiver cannot receive from sender. + example: Supplying ach addenda entries is currently not enabled. path: type: string - example: /_links/destination/href + example: '' _links: type: object example: {} - DirectAccountWithoutBankError: - title: DirectAccountWithoutBankError + PointOfSaleAddendaEntriesNotEnabledForAccountError: + title: PointOfSaleAddendaEntriesNotEnabledForAccountError type: object required: - code @@ -13513,18 +13348,18 @@ components: properties: code: type: string - example: RequiresFundingSource + example: NotAllowed message: type: string - example: Receiver requires funding source. + example: Supplying point of sale addenda entries is currently not enabled. path: type: string - example: /_links/destination/href + example: '' _links: type: object example: {} - SourceSameAsDestinationError: - title: SourceSameAsDestinationError + IncompatibleAddendaEntriesError: + title: IncompatibleAddendaEntriesError type: object required: - code @@ -13546,18 +13381,18 @@ components: properties: code: type: string - example: Invalid + example: NotAllowed message: type: string - example: Receiver cannot be the owner of the source funding source. + example: Addenda must not include both 'values' and 'pointOfSale addenda path: type: string - example: /_links/destination/href + example: /achDetails/source/addenda/pointOfSale _links: type: object example: {} - InvalidFacilitatorError: - title: InvalidFacilitatorError + InvalidPointOfSaleAddendaIdentificationCodeError: + title: InvalidPointOfSaleAddendaIdentificationCodeError type: object required: - code @@ -13579,18 +13414,18 @@ components: properties: code: type: string - example: Invalid + example: InvalidFormat message: type: string - example: Account cannot facilitate this transaction. + example: Identification code on a Point of Sale addenda entry is required and can be up to 6 characters. path: type: string - example: '' + example: /achDetails/source/addenda/pointOfSale/identificationCode _links: type: object example: {} - InvalidFacilitatorFeeCollectFromError: - title: InvalidFacilitatorFeeCollectFromError + InvalidPointOfSaleAddendaSerialNumberError: + title: InvalidPointOfSaleAddendaSerialNumberError type: object required: - code @@ -13612,18 +13447,18 @@ components: properties: code: type: string - example: Invalid + example: InvalidFormat message: type: string - example: Unable to charge fee to specified destination. + example: Serial number on a Point of Sale addenda entry is required and can be up to 6 characters. path: type: string - example: /fees/_links/charge-to/href + example: /achDetails/source/addenda/pointOfSale/serialNumber _links: type: object example: {} - InvalidFacilitatorFeeCollectFromCombinationError: - title: InvalidFacilitatorFeeCollectFromCombinationError + InvalidPointOfSaleAddendaDateError: + title: InvalidPointOfSaleAddendaDateError type: object required: - code @@ -13645,18 +13480,18 @@ components: properties: code: type: string - example: Invalid + example: InvalidFormat message: type: string - example: Currently, all fees must be paid by same destination." + example: 'Date on a Point of Sale addenda entry is required and should be ISO-8601 format: YYYY-MM-DD.' path: type: string - example: /fees/_links/charge-to/href + example: /achDetails/source/addenda/pointOfSale/date _links: type: object example: {} - InvalidDestinationFundingSourceError: - title: InvalidDestinationFundingSourceError + InvalidPointOfSaleAddendaAddressError: + title: InvalidPointOfSaleAddendaAddressError type: object required: - code @@ -13678,18 +13513,18 @@ components: properties: code: type: string - example: Invalid + example: InvalidFormat message: type: string - example: Invalid destination funding source. + example: Address on a Point of Sale addenda entry is required and can be up to 27 characters. path: type: string - example: /_links/destination/href + example: /achDetails/source/addenda/pointOfSale/address _links: type: object example: {} - InvalidOrRemovedCardDestinationError: - title: InvalidOrRemovedCardDestinationError + InvalidPointOfSaleAddendaCityError: + title: InvalidPointOfSaleAddendaCityError type: object required: - code @@ -13711,18 +13546,18 @@ components: properties: code: type: string - example: Invalid + example: InvalidFormat message: type: string - example: Destination funding source is either removed or does not exist. + example: City on a Point of Sale addenda entry is required and can be up to 15 characters. path: type: string - example: /_links/destination/href + example: /achDetails/source/addenda/pointOfSale/city _links: type: object example: {} - InvalidFacilitatorFeeAmountError: - title: InvalidFacilitatorFeeAmountError + InvalidPointOfSaleAddendaStateError: + title: InvalidPointOfSaleAddendaStateError type: object required: - code @@ -13744,18 +13579,18 @@ components: properties: code: type: string - example: Invalid + example: InvalidFormat message: type: string - example: Invalid facilitator fee amount. + example: State on a Point of Sale addenda entry is required and should be a valid 2-letter abbreviation. path: type: string - example: /fees/_links/charge-to/href + example: /achDetails/source/addenda/pointOfSale/state _links: type: object example: {} - WeeklyReceiveLimitReachedError: - title: WeeklyReceiveLimitReachedError + TransferExpiredForFeeError: + title: TransferExpiredForFeeError type: object required: - code @@ -13777,18 +13612,18 @@ components: properties: code: type: string - example: Restricted + example: NotAllowed message: type: string - example: Destination customer has reached its weekly receive limit. + example: Return fees can only be charged within 45 days of the original transfer's settlement date. path: type: string - example: /_links/destination/href + example: /_links/failed-transfer/href _links: type: object example: {} - InvalidDestinationClearingTypeError: - title: InvalidDestinationClearingTypeError + InvalidFeeOdfiError: + title: InvalidFeeOdfiError type: object required: - code @@ -13810,18 +13645,18 @@ components: properties: code: type: string - example: Restricted + example: NotAllowed message: type: string - example: Destination clearing type is currently not enabled. + example: Transfer ineligible. path: type: string - example: /clearing/destination + example: /_links/failed-transfer/href _links: type: object example: {} - InvalidAmountForDestinationClearingTypeError: - title: InvalidAmountForDestinationClearingTypeError + InvalidSourceBankAccountTypeError: + title: InvalidBankAccountTypeError type: object required: - code @@ -13843,18 +13678,18 @@ components: properties: code: type: string - example: Restricted + example: Invalid message: type: string - example: Amount is above the allowed threshold for the specified destination clearing type. + example: Invalid bank account type path: type: string - example: /amount/value + example: /_links/source/href _links: type: object example: {} - InvalidCorrelationIdError: - title: InvalidCorrelationIdError + InvalidDestinationBankAccountTypeError: + title: InvalidDestinationBankAccountTypeError type: object required: - code @@ -13876,18 +13711,18 @@ components: properties: code: type: string - example: InvalidFormat + example: Invalid message: type: string - example: Correlation id must be at least one character and up to 255 characters when supplied. + example: Invalid bank account type path: type: string - example: /correlationId + example: /_links/destination/href _links: type: object example: {} - SourceAddendaMaxLengthError: - title: SourceAddendaMaxLengthError + IncompatibleSourceAndDestinationTypesError: + title: IncompatibleSourceAndDestinationTypesError type: object required: - code @@ -13909,18 +13744,18 @@ components: properties: code: type: string - example: InvalidFormat + example: Invalid message: type: string - example: Ach addenda entries can be up to 80 characters when supplied. + example: Card type funding sources can only accept payments directly from a balance path: type: string - example: /achDetails/source/addenda/values + example: /_links/destination/href _links: type: object example: {} - DestinationAddendaMaxLengthError: - title: DestinationAddendaMaxLengthError + SourceNotCardNetworkSettlementError: + title: SourceNotCardNetworkSettlementError type: object required: - code @@ -13942,22 +13777,25 @@ components: properties: code: type: string - example: InvalidFormat + example: NotAllowed message: type: string - example: Ach addenda entries can be up to 80 characters when supplied. + example: Source funding source does not support card payouts. path: type: string - example: /achDetails/destination/addenda/values + example: /_links/source/href _links: type: object example: {} - AchAddendaEntriesNotEnabledForAccountError: - title: AchAddendaEntriesNotEnabledForAccountError + CardSourceNotAllowedError: + title: CardSourceNotAllowedError + description: Error returned when attempting to use a debit card funding source as the transfer source type: object required: - code - message + - _embedded + additionalProperties: false properties: code: type: string @@ -13967,26 +13805,38 @@ components: example: Validation error(s) present. See embedded errors list for more details. _embedded: type: object + required: + - errors properties: errors: type: array items: type: object + required: + - code + - message + - path properties: code: type: string + enum: + - NotAllowed example: NotAllowed message: type: string - example: Supplying ach addenda entries is currently not enabled. + enum: + - Cards cannot be used as a source for transfers. + example: Cards cannot be used as a source for transfers. path: type: string - example: '' + enum: + - /_links/source/href + example: /_links/source/href _links: type: object example: {} - PointOfSaleAddendaEntriesNotEnabledForAccountError: - title: PointOfSaleAddendaEntriesNotEnabledForAccountError + IncompatibleSourceForRtpDestinationError: + title: IncompatibleSourceForRtpDestinationError type: object required: - code @@ -14011,15 +13861,15 @@ components: example: NotAllowed message: type: string - example: Supplying point of sale addenda entries is currently not enabled. + example: Transfers using the Real Time Payments processing channel must be funded by a balance path: type: string - example: '' + example: /_links/destination/href _links: type: object example: {} - IncompatibleAddendaEntriesError: - title: IncompatibleAddendaEntriesError + InvalidAmountForDestinationProcessingChannelError: + title: InvalidAmountForDestinationProcessingChannelError type: object required: - code @@ -14041,18 +13891,18 @@ components: properties: code: type: string - example: NotAllowed + example: Restricted message: type: string - example: Addenda must not include both 'values' and 'pointOfSale addenda + example: Amount is greater than the allowed threshold for the specified destination processing channel. path: type: string - example: /achDetails/source/addenda/pointOfSale + example: /amount/value _links: type: object example: {} - InvalidPointOfSaleAddendaIdentificationCodeError: - title: InvalidPointOfSaleAddendaIdentificationCodeError + RtpFacilitatorFeeNotSupportedError: + title: RtpFacilitatorFeeNotSupportedError type: object required: - code @@ -14074,18 +13924,18 @@ components: properties: code: type: string - example: InvalidFormat + example: NotAllowed message: type: string - example: Identification code on a Point of Sale addenda entry is required and can be up to 6 characters. + example: Real Time Payments does not currently support facilitator fees path: type: string - example: /achDetails/source/addenda/pointOfSale/identificationCode + example: '' _links: type: object example: {} - InvalidPointOfSaleAddendaSerialNumberError: - title: InvalidPointOfSaleAddendaSerialNumberError + RtpUnverifiedSenderNotSupportedError: + title: RtpUnverifiedSenderNotSupportedError type: object required: - code @@ -14107,18 +13957,18 @@ components: properties: code: type: string - example: InvalidFormat + example: NotAllowed message: type: string - example: Serial number on a Point of Sale addenda entry is required and can be up to 6 characters. + example: Real Time Payments does not currently support unverified senders path: type: string - example: /achDetails/source/addenda/pointOfSale/serialNumber + example: '' _links: type: object example: {} - InvalidPointOfSaleAddendaDateError: - title: InvalidPointOfSaleAddendaDateError + RtpPersonalToPersonalNotSupportedError: + title: RtpPersonalToPersonalNotSupportedError type: object required: - code @@ -14140,18 +13990,18 @@ components: properties: code: type: string - example: InvalidFormat + example: NotAllowed message: type: string - example: 'Date on a Point of Sale addenda entry is required and should be ISO-8601 format: YYYY-MM-DD.' + example: Real Time Payments does not currently support transfers between personal accounts path: type: string - example: /achDetails/source/addenda/pointOfSale/date + example: '' _links: type: object example: {} - InvalidPointOfSaleAddendaAddressError: - title: InvalidPointOfSaleAddendaAddressError + DestinationProcessingChannelNotSupportedError: + title: DestinationProcessingChannelNotSupportedError type: object required: - code @@ -14173,18 +14023,18 @@ components: properties: code: type: string - example: InvalidFormat + example: NotAllowed message: type: string - example: Address on a Point of Sale addenda entry is required and can be up to 27 characters. + example: Destination funding source does not support processing channel path: type: string - example: /achDetails/source/addenda/pointOfSale/address + example: /processingChannel/destination _links: type: object example: {} - InvalidPointOfSaleAddendaCityError: - title: InvalidPointOfSaleAddendaCityError + DestinationRemittanceDataMaxLengthError: + title: DestinationRemittanceDataMaxLengthError type: object required: - code @@ -14209,15 +14059,15 @@ components: example: InvalidFormat message: type: string - example: City on a Point of Sale addenda entry is required and can be up to 15 characters. + example: Remittance data entries can be up to 140 characters when supplied. path: type: string - example: /achDetails/source/addenda/pointOfSale/city + example: /rtpDetails/destination/remittanceData _links: type: object example: {} - InvalidPointOfSaleAddendaStateError: - title: InvalidPointOfSaleAddendaStateError + WithdrawInvalidAmountError: + title: WithdrawInvalidAmountError type: object required: - code @@ -14239,18 +14089,18 @@ components: properties: code: type: string - example: InvalidFormat + example: Invalid message: type: string - example: State on a Point of Sale addenda entry is required and should be a valid 2-letter abbreviation. + example: Invalid amount. path: type: string - example: /achDetails/source/addenda/pointOfSale/state + example: /amount/value _links: type: object example: {} - TransferExpiredForFeeError: - title: TransferExpiredForFeeError + WithdrawInvalidFundingSourceError: + title: WithdrawInvalidFundingSourceError type: object required: - code @@ -14272,18 +14122,18 @@ components: properties: code: type: string - example: NotAllowed + example: Invalid message: type: string - example: Return fees can only be charged within 45 days of the original transfer's settlement date. + example: Destination funding source is either removed or does not exist. path: type: string - example: /_links/failed-transfer/href + example: /_links/destination/href _links: type: object example: {} - InvalidFeeOdfiError: - title: InvalidFeeOdfiError + WithdrawAccountRestrictedError: + title: WithdrawAccountRestrictedError type: object required: - code @@ -14305,18 +14155,18 @@ components: properties: code: type: string - example: NotAllowed + example: Restricted message: type: string - example: Transfer ineligible. + example: Account or customer restricted. path: type: string - example: /_links/failed-transfer/href + example: /_links/source/href _links: type: object example: {} - InvalidSourceBankAccountTypeError: - title: InvalidBankAccountTypeError + WithdrawInvalidAmountForClearingTypeError: + title: WithdrawInvalidAmountForClearingTypeError type: object required: - code @@ -14338,18 +14188,18 @@ components: properties: code: type: string - example: Invalid + example: Restricted message: type: string - example: Invalid bank account type + example: Amount is above the allowed threshold for the specified clearing type. path: type: string - example: /_links/source/href + example: /amount/value _links: type: object example: {} - InvalidDestinationBankAccountTypeError: - title: InvalidDestinationBankAccountTypeError + WithdrawInvalidWireBeneficiaryLocalityError: + title: WithdrawInvalidWireBeneficiaryLocalityError type: object required: - code @@ -14371,18 +14221,18 @@ components: properties: code: type: string - example: Invalid + example: InvalidFormat message: type: string - example: Invalid bank account type + example: Beneficiary locality must not exceed 35 characters and contain only alphanumeric, white space, '.' or '#' characters. path: type: string - example: /_links/destination/href + example: /wireInstructions/beneficiaryLocality _links: type: object example: {} - IncompatibleSourceAndDestinationTypesError: - title: IncompatibleSourceAndDestinationTypesError + WithdrawInvalidWireBeneficiaryRegionError: + title: WithdrawInvalidWireBeneficiaryRegionError type: object required: - code @@ -14404,19 +14254,19 @@ components: properties: code: type: string - example: Invalid + example: InvalidFormat message: type: string - example: Card type funding sources can only accept payments directly from a balance + example: Beneficiary region must not exceed 35 characters and contain only alphanumeric, white space, '.' or '#' characters. path: type: string - example: /_links/destination/href + example: /wireInstructions/beneficiaryRegion _links: type: object example: {} - SourceNotCardNetworkSettlementError: - title: SourceNotCardNetworkSettlementError - type: object + WithdrawInvalidWireBeneficiaryCountryError: + title: WithdrawInvalidWireBeneficiaryCountryError + type: object required: - code - message @@ -14437,25 +14287,22 @@ components: properties: code: type: string - example: NotAllowed + example: InvalidFormat message: type: string - example: Source funding source does not support card payouts. + example: Beneficiary country must not exceed 35 characters and contain only alphanumeric, white space, '.' or '#' characters. path: type: string - example: /_links/source/href + example: /wireInstructions/beneficiaryCountry _links: type: object example: {} - CardSourceNotAllowedError: - title: CardSourceNotAllowedError - description: Error returned when attempting to use a debit card funding source as the transfer source + WithdrawInvalidWireOriginatorToBeneficiaryError: + title: WithdrawInvalidWireOriginatorToBeneficiaryError type: object required: - code - message - - _embedded - additionalProperties: false properties: code: type: string @@ -14465,38 +14312,26 @@ components: example: Validation error(s) present. See embedded errors list for more details. _embedded: type: object - required: - - errors properties: errors: type: array items: type: object - required: - - code - - message - - path properties: code: type: string - enum: - - NotAllowed - example: NotAllowed + example: InvalidFormat message: type: string - enum: - - Cards cannot be used as a source for transfers. - example: Cards cannot be used as a source for transfers. + example: Originator to beneficiary items must not exceed 35 characters and contain only alphanumeric, white space, '.' or '#' characters. path: type: string - enum: - - /_links/source/href - example: /_links/source/href + example: /wireInstructions/originatorToBeneficiary _links: type: object example: {} - IncompatibleSourceForRtpDestinationError: - title: IncompatibleSourceForRtpDestinationError + WithdrawProcessingChannelNotSupportedError: + title: WithdrawProcessingChannelNotSupportedError type: object required: - code @@ -14518,18 +14353,18 @@ components: properties: code: type: string - example: NotAllowed + example: Invalid message: type: string - example: Transfers using the Real Time Payments processing channel must be funded by a balance + example: Unsupported processing channel. path: type: string example: /_links/destination/href _links: type: object example: {} - InvalidAmountForDestinationProcessingChannelError: - title: InvalidAmountForDestinationProcessingChannelError + WithdrawRtpUnverifiedSenderNotSupportedError: + title: WithdrawRtpUnverifiedSenderNotSupportedError type: object required: - code @@ -14551,18 +14386,18 @@ components: properties: code: type: string - example: Restricted + example: NotAllowed message: type: string - example: Amount is greater than the allowed threshold for the specified destination processing channel. + example: Real Time Payments does not currently support unverified senders path: type: string - example: /amount/value + example: '' _links: type: object example: {} - RtpFacilitatorFeeNotSupportedError: - title: RtpFacilitatorFeeNotSupportedError + WithdrawRtpPersonalWithdrawalNotSupportedError: + title: WithdrawRtpPersonalWithdrawalNotSupportedError type: object required: - code @@ -14587,15 +14422,15 @@ components: example: NotAllowed message: type: string - example: Real Time Payments does not currently support facilitator fees + example: Real Time Payments withdrawal from a personal account is currently not supported path: type: string example: '' _links: type: object example: {} - RtpUnverifiedSenderNotSupportedError: - title: RtpUnverifiedSenderNotSupportedError + DepositAccountRestrictedError: + title: DepositAccountRestrictedError type: object required: - code @@ -14617,18 +14452,18 @@ components: properties: code: type: string - example: NotAllowed + example: Restricted message: type: string - example: Real Time Payments does not currently support unverified senders + example: Account is restricted. path: type: string - example: '' + example: /_links/destination/href _links: type: object example: {} - RtpPersonalToPersonalNotSupportedError: - title: RtpPersonalToPersonalNotSupportedError + WireInvalidImadError: + title: WireInvalidImadError type: object required: - code @@ -14650,18 +14485,18 @@ components: properties: code: type: string - example: NotAllowed + example: Invalid message: type: string - example: Real Time Payments does not currently support transfers between personal accounts + example: Missing or invalid IMAD. path: type: string - example: '' + example: /imad _links: type: object example: {} - DestinationProcessingChannelNotSupportedError: - title: DestinationProcessingChannelNotSupportedError + WireAccountRestrictedError: + title: WireAccountRestrictedError type: object required: - code @@ -14683,18 +14518,18 @@ components: properties: code: type: string - example: NotAllowed + example: Restricted message: type: string - example: Destination funding source does not support processing channel + example: Account or customer restricted. path: type: string - example: /processingChannel/destination + example: /_links/destination/href _links: type: object example: {} - DestinationRemittanceDataMaxLengthError: - title: DestinationRemittanceDataMaxLengthError + WireNotEnabledError: + title: WireNotEnabledError type: object required: - code @@ -14716,18 +14551,18 @@ components: properties: code: type: string - example: InvalidFormat + example: NotAllowed message: type: string - example: Remittance data entries can be up to 140 characters when supplied. + example: Wire transfers are currently not enabled. path: type: string - example: /rtpDetails/destination/remittanceData + example: /_links/source/href _links: type: object example: {} - WithdrawInvalidAmountError: - title: WithdrawInvalidAmountError + WireAccountNotFoundError: + title: WireAccountNotFoundError type: object required: - code @@ -14749,18 +14584,18 @@ components: properties: code: type: string - example: Invalid + example: NotFound message: type: string - example: Invalid amount. + example: Account or customer invalid. path: type: string - example: /amount/value + example: /_links/destination/href _links: type: object example: {} - WithdrawInvalidFundingSourceError: - title: WithdrawInvalidFundingSourceError + PrefundingSourceNotAllowedError: + title: PrefundingSourceNotAllowedError type: object required: - code @@ -14782,18 +14617,18 @@ components: properties: code: type: string - example: Invalid + example: NotAllowed message: type: string - example: Destination funding source is either removed or does not exist. + example: Only the prefunding account owner is able to prefund the account. path: type: string - example: /_links/destination/href + example: /_links/source/href _links: type: object example: {} - WithdrawAccountRestrictedError: - title: WithdrawAccountRestrictedError + InvalidAttemptToFacilitateFundsError: + title: InvalidAttemptToFacilitateFundsError type: object required: - code @@ -14801,32 +14636,12 @@ components: properties: code: type: string - example: ValidationError + example: Forbidden message: type: string - example: Validation error(s) present. See embedded errors list for more details. - _embedded: - type: object - properties: - errors: - type: array - items: - type: object - properties: - code: - type: string - example: Restricted - message: - type: string - example: Account or customer restricted. - path: - type: string - example: /_links/source/href - _links: - type: object - example: {} - WithdrawInvalidAmountForClearingTypeError: - title: WithdrawInvalidAmountForClearingTypeError + example: 'Invalid Funds Flow: this operation requires the funds flow ''Facilitate'' to be enabled' + InvalidAttemptToPayInFundsError: + title: InvalidAttemptToPayInFundsError type: object required: - code @@ -14834,32 +14649,12 @@ components: properties: code: type: string - example: ValidationError + example: Forbidden message: type: string - example: Validation error(s) present. See embedded errors list for more details. - _embedded: - type: object - properties: - errors: - type: array - items: - type: object - properties: - code: - type: string - example: Restricted - message: - type: string - example: Amount is above the allowed threshold for the specified clearing type. - path: - type: string - example: /amount/value - _links: - type: object - example: {} - WithdrawInvalidWireBeneficiaryLocalityError: - title: WithdrawInvalidWireBeneficiaryLocalityError + example: 'Invalid Funds Flow: this operation requires the funds flow ''Receive'' to be enabled' + InvalidAttemptToPayOutFundsError: + title: InvalidAttemptToPayOutFundsError type: object required: - code @@ -14867,32 +14662,38 @@ components: properties: code: type: string - example: ValidationError + example: Forbidden message: type: string - example: Validation error(s) present. See embedded errors list for more details. - _embedded: - type: object - properties: - errors: - type: array - items: - type: object - properties: - code: - type: string - example: InvalidFormat - message: - type: string - example: Beneficiary locality must not exceed 35 characters and contain only alphanumeric, white space, '.' or '#' characters. - path: - type: string - example: /wireInstructions/beneficiaryLocality - _links: - type: object - example: {} - WithdrawInvalidWireBeneficiaryRegionError: - title: WithdrawInvalidWireBeneficiaryRegionError + example: 'Invalid Funds Flow: this operation requires the funds flow ''Send'' to be enabled' + RtpAccountSettingNotEnabledError: + title: RtpAccountSettingNotEnabledError + type: object + required: + - code + - message + properties: + code: + type: string + example: Forbidden + message: + type: string + example: Real Time Payments not enabled for this account + TooManyRequestsErrorError: + title: TooManyRequestsErrorError + type: object + required: + - code + - message + properties: + code: + type: string + example: TooManyRequests + message: + type: string + example: Concurrent transfers with the given funding source are not supported. Please wait a short period of time before re-attempting the request. + StatusInvalidError: + title: StatusInvalidError type: object required: - code @@ -14914,18 +14715,18 @@ components: properties: code: type: string - example: InvalidFormat + example: Invalid message: type: string - example: Beneficiary region must not exceed 35 characters and contain only alphanumeric, white space, '.' or '#' characters. + example: Status invalid. path: type: string - example: /wireInstructions/beneficiaryRegion + example: /status _links: type: object example: {} - WithdrawInvalidWireBeneficiaryCountryError: - title: WithdrawInvalidWireBeneficiaryCountryError + StatusNotAllowedError: + title: StatusNotAllowedError type: object required: - code @@ -14947,55 +14748,230 @@ components: properties: code: type: string - example: InvalidFormat + example: NotAllowed message: type: string - example: Beneficiary country must not exceed 35 characters and contain only alphanumeric, white space, '.' or '#' characters. + example: Status not allowed. path: type: string - example: /wireInstructions/beneficiaryCountry + example: /status _links: type: object example: {} - WithdrawInvalidWireOriginatorToBeneficiaryError: - title: WithdrawInvalidWireOriginatorToBeneficiaryError + MassPaymentItem: + title: MassPaymentItem type: object - required: - - code - - message properties: - code: + _links: + type: object + properties: + self: + type: object + properties: + href: + type: string + example: https://api.dwolla.com/mass-payment-items/c1c7d293-63ec-e511-80df-0aa34a9b2388 + mass-payment: + type: object + properties: + href: + type: string + example: https://api.dwolla.com/mass-payments/eb467252-808c-4bc0-b86f-a5cd01454563 + destination: + type: object + properties: + href: + type: string + example: https://api.dwolla.com/funding-sources/b442c936-1f87-465d-a4e2-a982164b26bd + transfer: + type: object + properties: + href: + type: string + example: https://api.dwolla.com/transfers/fa3999db-41ed-e511-80df-0aa34a9b2388 + id: type: string - example: ValidationError - message: + example: 2f845bc9-41ed-e511-80df-0aa34a9b2388 + status: type: string - example: Validation error(s) present. See embedded errors list for more details. + example: success + amount: + type: object + properties: + value: + type: string + example: '1.00' + currency: + type: string + example: USD + metadata: + type: object + properties: + item1: + type: string + example: item1 + processingChannel: + type: object + properties: + destination: + type: string + example: real-time-payments + Label: + title: Label + type: object + properties: + _links: + additionalProperties: + $ref: '#/components/schemas/HalLink' + id: + type: string + example: 7e042ffe-e25e-40d2-b86e-748b98845ecc + created: + type: string + format: date-time + example: '2022-05-15T22:19:09.635Z' + amount: + type: object + properties: + value: + type: string + example: '10.00' + currency: + type: string + example: USD + Labels: + title: Labels + type: object + properties: + _links: + additionalProperties: + $ref: '#/components/schemas/HalLink' _embedded: type: object properties: - errors: + labels: type: array items: - type: object - properties: - code: - type: string - example: InvalidFormat - message: - type: string - example: Originator to beneficiary items must not exceed 35 characters and contain only alphanumeric, white space, '.' or '#' characters. - path: - type: string - example: /wireInstructions/originatorToBeneficiary - _links: - type: object - example: {} - WithdrawProcessingChannelNotSupportedError: - title: WithdrawProcessingChannelNotSupportedError + $ref: '#/components/schemas/Label' + total: + type: integer + example: 100 + LabelLedgerEntry: + title: LabelLedgerEntry + type: object + properties: + _links: + additionalProperties: + $ref: '#/components/schemas/HalLink' + id: + type: string + example: 32d68709-62dd-43d6-a6df-562f4baec526 + amount: + type: object + properties: + value: + type: string + example: '-5.00' + currency: + type: string + example: USD + created: + type: string + format: date-time + example: '2019-05-16T01:54:58.062Z' + LabelLedgerEntries: + title: LabelLedgerEntries + type: object + properties: + _links: + type: object + additionalProperties: + $ref: '#/components/schemas/HalLink' + _embedded: + type: object + properties: + ledger-entries: + type: array + items: + $ref: '#/components/schemas/LabelLedgerEntry' + total: + type: integer + example: 100 + Event: + title: Event + type: object + properties: + _links: + type: object + additionalProperties: + $ref: '#/components/schemas/HalLink' + id: + type: string + example: 81f6e13c-557c-4449-9331-da5c65e61095 + created: + type: string + format: date-time + example: '2015-10-16T15:37:02.000Z' + topic: + type: string + example: customer_transfer_created + resourceId: + type: string + example: 09A166BC-1B74-E511-80DB-0AA34A9B2388 + Events: + title: Events + type: object + properties: + _links: + type: object + additionalProperties: + $ref: '#/components/schemas/HalLink' + _embedded: + type: object + properties: + events: + type: array + items: + $ref: '#/components/schemas/Event' + total: + type: integer + format: int32 + example: 3 + WebhookSubscription: + title: WebhookSubscription + type: object + properties: + _links: + type: object + properties: + self: + type: object + properties: + href: + type: string + example: https://api.dwolla.com/webhook-subscriptions/077dfffb-4852-412f-96b6-0fe668066589 + webhooks: + type: object + properties: + href: + type: string + example: https://api.dwolla.com/webhook-subscriptions/077dfffb-4852-412f-96b6-0fe668066589/webhooks + id: + type: string + example: 077dfffb-4852-412f-96b6-0fe668066589 + url: + type: string + example: http://myapplication.com/webhooks + paused: + type: boolean + example: true + created: + type: string + format: date-time + example: '2022-10-28T16:20:47+00:00' + InvalidUrlFormatError: + title: InvalidUrlFormatError type: object - required: - - code - - message properties: code: type: string @@ -15013,22 +14989,19 @@ components: properties: code: type: string - example: Invalid + example: InvalidFormat message: type: string - example: Unsupported processing channel. + example: Url must be a valid url. path: type: string - example: /_links/destination/href + example: /url _links: type: object example: {} - WithdrawRtpUnverifiedSenderNotSupportedError: - title: WithdrawRtpUnverifiedSenderNotSupportedError + SecretTooLongError: + title: SecretTooLongError type: object - required: - - code - - message properties: code: type: string @@ -15046,249 +15019,380 @@ components: properties: code: type: string - example: NotAllowed + example: InvalidFormat message: type: string - example: Real Time Payments does not currently support unverified senders + example: Secret must be 128 or fewer characters. path: type: string - example: '' + example: /secret _links: type: object example: {} - WithdrawRtpPersonalWithdrawalNotSupportedError: - title: WithdrawRtpPersonalWithdrawalNotSupportedError + MaxSubscriptionsReachedError: + title: MaxSubscriptionsReachedError type: object - required: - - code - - message properties: code: type: string - example: ValidationError + example: MaxNumberOfResources message: type: string - example: Validation error(s) present. See embedded errors list for more details. - _embedded: - type: object - properties: - errors: - type: array - items: - type: object - properties: - code: - type: string - example: NotAllowed - message: - type: string - example: Real Time Payments withdrawal from a personal account is currently not supported - path: - type: string - example: '' - _links: - type: object - example: {} - DepositAccountRestrictedError: - title: DepositAccountRestrictedError + example: The maximum number of subscriptions has been reached. + TooManyRequestsError: + title: TooManyRequestsError type: object - required: - - code - - message properties: code: type: string - example: ValidationError + example: Too Many Requests message: type: string - example: Validation error(s) present. See embedded errors list for more details. - _embedded: + example: Please wait a short period of time before re-attempting the request. + Webhook: + title: Webhook + type: object + properties: + _links: type: object properties: - errors: - type: array - items: + self: + type: object + properties: + href: + type: string + example: https://api.dwolla.com/webhooks/9ece9660-aa34-41eb-80d7-0125d53b45e8 + subscription: + type: object + properties: + href: + type: string + example: https://api.dwolla.com/webhook-subscriptions/a0943041-7a5c-4e8f-92de-b55711ef3a83 + retry: + type: object + properties: + href: + type: string + example: https://api.dwolla.com/webhooks/9ece9660-aa34-41eb-80d7-0125d53b45e8/retries + event: + type: object + properties: + href: + type: string + example: https://api.dwolla.com/events/03c7e14c-7f15-44a2-bcf7-83f2f7e95d50 + id: + type: string + example: 9ece9660-aa34-41eb-80d7-0125d53b45e8 + topic: + type: string + example: transfer_created + accountId: + type: string + example: ca32853c-48fa-40be-ae75-77b37504581b + eventId: + type: string + example: 03c7e14c-7f15-44a2-bcf7-83f2f7e95d50 + subscriptionId: + type: string + example: a0943041-7a5c-4e8f-92de-b55711ef3a83 + attempts: + type: array + items: + type: object + properties: + id: + type: string + example: d4d16621-c6b0-40cb-8dc3-0469fa9dc4e8 + request: type: object properties: - code: + timestamp: type: string - example: Restricted - message: + format: date-time + example: '2022-10-27T17:07:34.304Z' + url: type: string - example: Account is restricted. - path: + example: https://myapp.runscope.net + headers: + type: array + items: + type: object + properties: + name: + type: string + example: X-Dwolla-Topic + value: + type: string + example: transfer_created + body: type: string - example: /_links/destination/href - _links: - type: object - example: {} - WireInvalidImadError: - title: WireInvalidImadError + example: id:03c7e14c-7f15-44a2-bcf7-83f2f7e95d50resourceId:81BA6F36-CD7C-E511-80DB-0AA34A9B2388topic:transfer_createdtimestamp:2022-10-27T17:07:34.207Z_links:self:href:https://api.dwolla.com/events/03c7e14c-7f15-44a2-bcf7-83f2f7e95d50account:href:https://api.dwolla.com/accounts/ca32853c-48fa-40be-ae75-77b37504581bresource:href:https://api.dwolla.com/transfers/81BA6F36-CD7C-E511-80DB-0AA34A9B2388 + response: + type: object + properties: + timestamp: + type: string + format: date-time + example: '2022-10-27T17:07:34.308Z' + headers: + type: array + items: + type: object + properties: + name: + type: string + example: Date + value: + type: string + example: Tue 27 Oct 2022 17:07:34 GMT + statusCode: + type: integer + format: int32 + example: 200 + body: + type: string + example: body:id:03c7e14c-7f15-44a2-bcf7-83f2f7e95d50resourceId:81BA6F36-CD7C-E511-80DB-0AA34A9B2388topic:transfer_createdtimestamp:2022-10-27T17:07:34.207Z_links:self:href:https://api.dwolla.com/events/03c7e14c-7f15-44a2-bcf7-83f2f7e95d50account:href:https://api.dwolla.com/accounts/ca32853c-48fa-40be-ae75-77b37504581bresource:href:https://api.dwolla.com/transfers/81BA6F36-CD7C-E511-80DB-0AA34A9B2388files:[]form:fragment:headers:Connection:[close]Content-Length:[453]Content-Type:[application/json; charset=UTF-8]Host:[myapp.runscope.net]User-Agent:[dwolla-webhooks/1.0]X-Dwolla-Topic:[transfer_created]X-Request-Signature:[bd93780bd7e1ad77ab821094aaa0f9e3dece5ee3]host:myapp.runscope.netmethod:POSTparams:path:/region:us5runscope_host:prod078.runscope.inscheme:httpssource:capturesource_ip:52.24.10.184timestamp:1.4459656543078682e+09url:https://myapp.runscope.net/ + WebhookRetries: + title: WebhookRetries type: object - required: - - code - - message properties: - code: - type: string - example: ValidationError - message: - type: string - example: Validation error(s) present. See embedded errors list for more details. + _links: + type: object + properties: + self: + type: object + properties: + href: + type: string + example: https://api.dwolla.com/webhooks/9ece9660-aa34-41eb-80d7-0125d53b45e8/retries _embedded: type: object properties: - errors: + retries: type: array items: type: object properties: - code: - type: string - example: Invalid - message: - type: string - example: Missing or invalid IMAD. - path: - type: string - example: /imad _links: type: object - example: {} - WireAccountRestrictedError: - title: WireAccountRestrictedError + properties: + self: + type: object + properties: + href: + type: string + example: https://api.dwolla.com/webhooks/9ece9660-aa34-41eb-80d7-0125d53b45e8/retries/5aa27a0f-cf99-418d-a3ee-67c0ff99a494 + webhook: + type: object + properties: + href: + type: string + example: https://api.dwolla.com/webhooks/9ece9660-aa34-41eb-80d7-0125d53b45e8 + id: + type: string + example: 5aa27a0f-cf99-418d-a3ee-67c0ff99a494 + timestamp: + type: string + format: date-time + example: '2022-11-02T17:43:26.000Z' + total: + type: integer + format: int32 + example: 1 + ExchangePartner: + title: ExchangePartner type: object required: - - code - - message + - _links + - id + - name + - status + - created properties: - code: + _links: + additionalProperties: + $ref: '#/components/schemas/HalLink' + id: type: string - example: ValidationError - message: + example: d3d6b41e-5567-4bc6-9c6e-0efd0a3e647e + name: type: string - example: Validation error(s) present. See embedded errors list for more details. + enum: + - MX + - Plaid + - Flinks + - Finicity + example: Plaid + status: + type: string + enum: + - active + example: active + created: + type: string + format: date-time + example: '2022-07-23T00:18:21.419Z' + ExchangePartners: + title: ExchangePartners + type: object + properties: + _links: + additionalProperties: + $ref: '#/components/schemas/HalLink' _embedded: type: object properties: - errors: + exchange-partners: type: array items: - type: object - properties: - code: - type: string - example: Restricted - message: - type: string - example: Account or customer restricted. - path: - type: string - example: /_links/destination/href - _links: - type: object - example: {} - WireNotEnabledError: - title: WireNotEnabledError + $ref: '#/components/schemas/ExchangePartner' + total: + type: integer + format: int32 + example: 3 + Exchange: + title: Exchange type: object required: - - code - - message + - _links + - id + - status + - created properties: - code: + _links: + additionalProperties: + $ref: '#/components/schemas/HalLink' + id: type: string - example: ValidationError - message: + example: d3d6b41e-5567-4bc6-9c6e-0efd0a3e647e + status: type: string - example: Validation error(s) present. See embedded errors list for more details. + enum: + - active + - deactivated + - removed + example: active + created: + type: string + format: date-time + example: '2022-07-23T00:18:21.419Z' + Exchanges: + title: Exchanges + type: object + required: + - _links + - _embedded + - total + properties: + _links: + additionalProperties: + $ref: '#/components/schemas/HalLink' _embedded: type: object + required: + - exchanges properties: - errors: + exchanges: type: array items: - type: object - properties: - code: - type: string - example: NotAllowed - message: - type: string - example: Wire transfers are currently not enabled. - path: - type: string - example: /_links/source/href - _links: - type: object - example: {} - WireAccountNotFoundError: - title: WireAccountNotFoundError + $ref: '#/components/schemas/Exchange' + total: + type: integer + format: int32 + example: 3 + CreateFinicitySecureExchange: + title: CreateFinicitySecureExchange type: object required: - - code - - message + - _links + - finicity properties: - code: - type: string - example: ValidationError - message: - type: string - example: Validation error(s) present. See embedded errors list for more details. - _embedded: + _links: type: object properties: - errors: + exchange-partner: + type: object + properties: + href: + type: string + example: https://api.dwolla.com/exchange-partners/292317ec-e252-47d8-93c3-2d128e037aa4 + finicity: + type: object + properties: + profile: + type: integer + format: int32 + example: 3 + version: + type: string + example: '1' + receiptId: + type: string + example: cr_4N47ou7SlppuIxq0ZUtACh10vYcloY + receiptVersion: + type: string + example: '1' + customerId: + type: string + example: '5454874858510164117' + partnerId: + type: integer + format: int64 + example: 2445583946651 + products: type: array items: type: object properties: - code: - type: string - example: NotFound - message: + product: type: string - example: Account or customer invalid. - path: + example: moneyTransferDetails + accountId: type: string - example: /_links/destination/href - _links: + example: '1015199035827334916' + accessPeriod: type: object - example: {} - PrefundingSourceNotAllowedError: - title: PrefundingSourceNotAllowedError + properties: + type: + type: string + example: timeframe + startTime: + type: string + format: date + example: '2022-07-06' + endTime: + type: string + format: date-time + example: '2022-08-16T06:06:20Z' + timestamp: + type: string + format: date-time + example: '2022-07-11T06:06:23Z' + CreateTokenBasedExchange: + title: CreateTokenBasedExchange + description: Create an exchange using a token. Supports MX, Plaid, and Flinks secure exchange flows. type: object required: - - code - - message + - _links + - token properties: - code: - type: string - example: ValidationError - message: - type: string - example: Validation error(s) present. See embedded errors list for more details. - _embedded: + _links: type: object + required: + - exchange-partner properties: - errors: - type: array - items: - type: object - properties: - code: - type: string - example: NotAllowed - message: - type: string - example: Only the prefunding account owner is able to prefund the account. - path: - type: string - example: /_links/source/href - _links: - type: object - example: {} - InvalidAttemptToFacilitateFundsError: - title: InvalidAttemptToFacilitateFundsError + exchange-partner: + type: object + properties: + href: + type: string + example: https://api.dwolla.com/exchange-partners/292317ec-e252-47d8-93c3-2d128e037aa4 + token: + type: string + description: Connection or processor token from the exchange partner + example: sandbox-token-abc123 + InvalidExchangeToken: + title: InvalidExchangeToken type: object required: - code @@ -15296,12 +15400,12 @@ components: properties: code: type: string - example: Forbidden + example: InvalidExchangeToken message: type: string - example: 'Invalid Funds Flow: this operation requires the funds flow ''Facilitate'' to be enabled' - InvalidAttemptToPayInFundsError: - title: InvalidAttemptToPayInFundsError + example: Exchange token is expired. + InvalidExchange: + title: InvalidExchange type: object required: - code @@ -15309,1063 +15413,1105 @@ components: properties: code: type: string - example: Forbidden + example: InvalidExchange message: type: string - example: 'Invalid Funds Flow: this operation requires the funds flow ''Receive'' to be enabled' - InvalidAttemptToPayOutFundsError: - title: InvalidAttemptToPayOutFundsError + example: The exchange is no longer active. + CreateMXOpenBankingExchange: + title: CreateMXOpenBankingExchange type: object required: - - code - - message + - _links + - mx properties: - code: - type: string - example: Forbidden - message: - type: string - example: 'Invalid Funds Flow: this operation requires the funds flow ''Send'' to be enabled' - RtpAccountSettingNotEnabledError: - title: RtpAccountSettingNotEnabledError + _links: + type: object + required: + - exchange-partner + properties: + exchange-partner: + type: object + required: + - href + properties: + href: + type: string + format: uri + example: https://api.dwolla.com/exchange-partners/bca8d065-49a5-475b-a6b4-509bc8504d22 + mx: + type: object + required: + - availableConnectionToken + properties: + availableConnectionToken: + type: string + description: The MX connection token for the available connection + example: eyJhY2NvdW50SWQiOiJBQ1QtMjAxY2FkM2MtYzc2Yi00N2M1LWI3Y2QtMTkxY2FhNzdlZWM5IiwibWVtYmVySWQiOiJNQlItZGNjZWY0ZWMtOGM4MC00NTlmLTlhMGItMTc1ZTA0OTJmZWIzIn0= + CreatePlaidOpenBankingExchange: + title: CreatePlaidOpenBankingExchange type: object required: - - code - - message + - _links + - plaid properties: - code: - type: string - example: Forbidden - message: - type: string - example: Real Time Payments not enabled for this account - TooManyRequestsErrorError: - title: TooManyRequestsErrorError - type: object - required: - - code - - message - properties: - code: - type: string - example: TooManyRequests - message: - type: string - example: Concurrent transfers with the given funding source are not supported. Please wait a short period of time before re-attempting the request. - StatusInvalidError: - title: StatusInvalidError + _links: + type: object + required: + - exchange-partner + properties: + exchange-partner: + type: object + required: + - href + properties: + href: + type: string + format: uri + example: https://api.dwolla.com/exchange-partners/f53ffb32-c84f-496a-9d9d-acd100d396ef + plaid: + type: object + required: + - publicToken + properties: + publicToken: + type: string + description: The Plaid public token for the connection + example: public-production-d5456acb-01d5-4932-9783-e4c883cf1c0c + CreateCustomerExchangeSessionWithRedirect: + title: CreateCustomerExchangeSessionWithRedirect + description: Create exchange session with redirect URL (required for mobile sessions with Plaid) type: object required: - - code - - message + - _links properties: - code: - type: string - example: ValidationError - message: - type: string - example: Validation error(s) present. See embedded errors list for more details. - _embedded: + _links: type: object + required: + - exchange-partner + - redirect-url properties: - errors: - type: array - items: - type: object - properties: - code: - type: string - example: Invalid - message: - type: string - example: Status invalid. - path: - type: string - example: /status - _links: - type: object - example: {} - StatusNotAllowedError: - title: StatusNotAllowedError + exchange-partner: + type: object + required: + - href + properties: + href: + type: string + format: uri + example: https://api.dwolla.com/exchange-partners/292317ec-e252-47d8-93c3-2d128e037aa4 + redirect-url: + type: object + required: + - href + properties: + href: + type: string + format: uri + description: | + Required for Plaid mobile sessions. + For Android: use app URI scheme (e.g., com.example.app123) + For iOS: use HTTPS URL (e.g., https://example.com/app123) + example: https://example.com/app123 + CreateCustomerExchangeSessionForWeb: + title: CreateCustomerExchangeSessionForWeb + description: Create exchange session for web (MX and Plaid web sessions where redirect-url is not required) type: object required: - - code - - message + - _links properties: - code: - type: string - example: ValidationError - message: - type: string - example: Validation error(s) present. See embedded errors list for more details. - _embedded: + _links: type: object + required: + - exchange-partner properties: - errors: - type: array - items: - type: object - properties: - code: - type: string - example: NotAllowed - message: - type: string - example: Status not allowed. - path: - type: string - example: /status - _links: - type: object - example: {} - MassPaymentItem: - title: MassPaymentItem + exchange-partner: + type: object + required: + - href + properties: + href: + type: string + format: uri + example: https://api.dwolla.com/exchange-partners/292317ec-e252-47d8-93c3-2d128e037aa4 + ExchangeSession: type: object + required: + - created + - _links properties: + created: + type: string + format: date-time + example: '2024-03-25T17:13:38.430Z' _links: type: object + required: + - self + - exchange-partner properties: self: type: object + required: + - href + - type + - resource-type properties: href: type: string - example: https://api.dwolla.com/mass-payment-items/c1c7d293-63ec-e511-80df-0aa34a9b2388 - mass-payment: - type: object - properties: - href: + format: uri + example: https://api.dwolla.com/exchange-sessions/9b7fb629-0fad-44f4-8c5e-44c25a0bfa8e + type: type: string - example: https://api.dwolla.com/mass-payments/eb467252-808c-4bc0-b86f-a5cd01454563 - destination: + example: application/vnd.dwolla.v1.hal+json + resource-type: + type: string + example: exchange-sessions + exchange-partner: type: object + required: + - href + - type + - resource-type properties: href: type: string - example: https://api.dwolla.com/funding-sources/b442c936-1f87-465d-a4e2-a982164b26bd - transfer: + format: uri + example: https://api.dwolla.com/exchange-partners/bca8d065-49a5-475b-a6b4-509bc8504d22 + type: + type: string + example: application/vnd.dwolla.v1.hal+json + resource-type: + type: string + example: exchange-partner + external-provider-session: type: object + required: + - href + - type + - resource-type properties: href: type: string - example: https://api.dwolla.com/transfers/fa3999db-41ed-e511-80df-0aa34a9b2388 - id: - type: string - example: 2f845bc9-41ed-e511-80df-0aa34a9b2388 - status: + format: uri + description: | + Present for MX exchange sessions. + Contains the URL to redirect the user to complete the authorization process. + example: https://www.mx.com/connect/lAfkc7m897s3t1ks9mmwyj4ry7Zq0xql4grzAg1kz77x7c9jrwls1t22w6xt8d2lsxx9zpqv30js3wswfdwcrpAsqgbAfkqwpksp7c2chsx167xy90Asfc67dkj9y48y8p142xw3yp4x5l9t9gkk6m3yk5vwsvyq2qq7w9trszxwdl14lmkg7l6949bn5n41chdkbnxycy40n9b6fkbdwl6qt5wl107k1x8srvlkpz325p412x9tkyA5clf39109lsfrgz2lkgsvntqf7l0zzwb5hl658gdjbxwhb52krwybnbdAqfq69cdy54l05jkvfwyf01q89x48jtgtx290lzjdfcty1lwb8d648wns/eyJ1aV9tZXNzYWdlX3ZlcnNpb24iOjQsInVpX21lc3NhZ2Vfd2Vidmlld191cmxfc2NoZW1lIjoibXgiLCJtb2RlIjoidmVyaWZpY2F0aW9uIn0%3D + type: + type: string + example: application/vnd.dwolla.v1.hal+json + resource-type: + type: string + example: text/html + externalProviderSessionToken: type: string - example: success - amount: - type: object - properties: - value: - type: string - example: '1.00' - currency: - type: string - example: USD - metadata: - type: object - properties: - item1: - type: string - example: item1 - processingChannel: - type: object - properties: - destination: - type: string - example: real-time-payments - Label: - title: Label + description: | + Present for Plaid exchange sessions. + Contains the token to initialize the Plaid Link flow. + example: link-production-b41e8ed3-0874-4c64-b07d-a77088979d5f + CreateReAuthExchangeSessionForWeb: + title: CreateReAuthExchangeSessionForWeb + description: Create re-auth exchange session for web (Plaid web sessions where request body is optional) + type: object + properties: {} + CreateReAuthExchangeSessionWithRedirect: + title: CreateReAuthExchangeSessionWithRedirect + description: Create re-auth exchange session with redirect URL (required for mobile sessions with Plaid) type: object + required: + - _links properties: _links: - additionalProperties: - $ref: '#/components/schemas/HalLink' - id: - type: string - example: 7e042ffe-e25e-40d2-b86e-748b98845ecc - created: - type: string - format: date-time - example: '2022-05-15T22:19:09.635Z' - amount: - type: object - properties: - value: - type: string - example: '10.00' - currency: - type: string - example: USD - Labels: - title: Labels - type: object - properties: - _links: - additionalProperties: - $ref: '#/components/schemas/HalLink' - _embedded: - type: object - properties: - labels: - type: array - items: - $ref: '#/components/schemas/Label' - total: - type: integer - example: 100 - LabelLedgerEntry: - title: LabelLedgerEntry - type: object - properties: - _links: - additionalProperties: - $ref: '#/components/schemas/HalLink' - id: - type: string - example: 32d68709-62dd-43d6-a6df-562f4baec526 - amount: - type: object - properties: - value: - type: string - example: '-5.00' - currency: - type: string - example: USD - created: - type: string - format: date-time - example: '2019-05-16T01:54:58.062Z' - LabelLedgerEntries: - title: LabelLedgerEntries - type: object - properties: - _links: - type: object - additionalProperties: - $ref: '#/components/schemas/HalLink' - _embedded: - type: object - properties: - ledger-entries: - type: array - items: - $ref: '#/components/schemas/LabelLedgerEntry' - total: - type: integer - example: 100 - Event: - title: Event - type: object - properties: - _links: - type: object - additionalProperties: - $ref: '#/components/schemas/HalLink' - id: - type: string - example: 81f6e13c-557c-4449-9331-da5c65e61095 - created: - type: string - format: date-time - example: '2015-10-16T15:37:02.000Z' - topic: - type: string - example: customer_transfer_created - resourceId: - type: string - example: 09A166BC-1B74-E511-80DB-0AA34A9B2388 - Events: - title: Events - type: object - properties: - _links: - type: object - additionalProperties: - $ref: '#/components/schemas/HalLink' - _embedded: type: object + required: + - redirect-url properties: - events: - type: array - items: - $ref: '#/components/schemas/Event' - total: - type: integer - format: int32 - example: 3 - WebhookSubscription: - title: WebhookSubscription + redirect-url: + type: object + required: + - href + properties: + href: + type: string + format: uri + description: | + Required for Plaid mobile sessions. + For Android: use app URI scheme (e.g., com.example.app123) + For iOS: use HTTPS URL (e.g., https://example.com/app123) + example: https://example.com/app123 + AvailableExchangeConnections: type: object + required: + - _links + - _embedded properties: _links: type: object + required: + - self + - customers properties: self: type: object + required: + - href + - type + - resource-type properties: href: type: string - example: https://api.dwolla.com/webhook-subscriptions/077dfffb-4852-412f-96b6-0fe668066589 - webhooks: + format: uri + example: https://api.dwolla.com/customers/1b54c81a-261f-4779-bb57-9405e6e00694/available-exchange-connections + type: + type: string + example: application/vnd.dwolla.v1.hal+json + resource-type: + type: string + example: customer + customers: type: object + required: + - href + - type + - resource-type properties: href: type: string - example: https://api.dwolla.com/webhook-subscriptions/077dfffb-4852-412f-96b6-0fe668066589/webhooks - id: - type: string - example: 077dfffb-4852-412f-96b6-0fe668066589 - url: - type: string - example: http://myapplication.com/webhooks - paused: - type: boolean - example: true - created: - type: string - format: date-time - example: '2022-10-28T16:20:47+00:00' - InvalidUrlFormatError: - title: InvalidUrlFormatError - type: object - properties: - code: - type: string - example: ValidationError - message: - type: string - example: Validation error(s) present. See embedded errors list for more details. + format: uri + example: https://api.dwolla.com/customers/1b54c81a-261f-4779-bb57-9405e6e00694 + type: + type: string + example: application/vnd.dwolla.v1.hal+json + resource-type: + type: string + example: customer _embedded: type: object + required: + - available-exchange-connections properties: - errors: + available-exchange-connections: type: array items: type: object + required: + - availableConnectionToken + - name properties: - code: - type: string - example: InvalidFormat - message: + availableConnectionToken: type: string - example: Url must be a valid url. - path: + description: Token representing the external bank account that can be used to create a funding source + example: eyJhY2NvdW50SWQiOiJBQ1QtMjAxY2FkM2MtYzc2Yi00N2M1LWI3Y2QtMTkxY2FhNzdlZWM5IiwibWVtYmVySWQiOiJNQlItZGNjZWY0ZWMtOGM4MC00NTlmLTlhMGItMTc1ZTA0OTJmZWIzIn0= + name: type: string - example: /url - _links: - type: object - example: {} - SecretTooLongError: - title: SecretTooLongError + description: Name of the external bank account + example: XYZ Checking + DeactivateCustomer: + title: DeactivateCustomer + description: Deactivate a Customer type: object + required: + - operationType + - status properties: - code: + operationType: type: string - example: ValidationError - message: + const: deactivate + status: type: string - example: Validation error(s) present. See embedded errors list for more details. - _embedded: - type: object - properties: - errors: - type: array - items: - type: object - properties: - code: - type: string - example: InvalidFormat - message: - type: string - example: Secret must be 128 or fewer characters. - path: - type: string - example: /secret - _links: - type: object - example: {} - MaxSubscriptionsReachedError: - title: MaxSubscriptionsReachedError + example: deactivated + ReactivateCustomer: + title: ReactivateCustomer + description: Reactivate a Customer type: object + required: + - operationType + - status properties: - code: + operationType: type: string - example: MaxNumberOfResources - message: + const: reactivate + status: type: string - example: The maximum number of subscriptions has been reached. - TooManyRequestsError: - title: TooManyRequestsError + example: reactivated + SuspendCustomer: + title: SuspendCustomer + description: Suspend a Customer type: object + required: + - operationType + - status properties: - code: + operationType: type: string - example: Too Many Requests - message: + const: suspend + status: type: string - example: Please wait a short period of time before re-attempting the request. - Webhook: - title: Webhook + example: suspended + UpdateUnverifiedAndReceiveOnly: + title: UpdateUnverifiedAndReceiveOnly + description: Update Unverified Customer or Receive Only User Information type: object + required: + - operationType properties: - _links: - type: object - properties: - self: - type: object - properties: - href: - type: string - example: https://api.dwolla.com/webhooks/9ece9660-aa34-41eb-80d7-0125d53b45e8 - subscription: - type: object - properties: - href: - type: string - example: https://api.dwolla.com/webhook-subscriptions/a0943041-7a5c-4e8f-92de-b55711ef3a83 - retry: - type: object - properties: - href: - type: string - example: https://api.dwolla.com/webhooks/9ece9660-aa34-41eb-80d7-0125d53b45e8/retries - event: - type: object - properties: - href: - type: string - example: https://api.dwolla.com/events/03c7e14c-7f15-44a2-bcf7-83f2f7e95d50 - id: + operationType: type: string - example: 9ece9660-aa34-41eb-80d7-0125d53b45e8 - topic: + const: updateUnverifiedOrReceiveOnly + firstName: type: string - example: transfer_created - accountId: + example: John + lastName: type: string - example: ca32853c-48fa-40be-ae75-77b37504581b - eventId: + example: Doe + email: type: string - example: 03c7e14c-7f15-44a2-bcf7-83f2f7e95d50 - subscriptionId: + example: accountAdmin@email.com + businessName: type: string - example: a0943041-7a5c-4e8f-92de-b55711ef3a83 - attempts: - type: array - items: - type: object - properties: - id: - type: string - example: d4d16621-c6b0-40cb-8dc3-0469fa9dc4e8 - request: - type: object - properties: - timestamp: - type: string - format: date-time - example: '2022-10-27T17:07:34.304Z' - url: - type: string - example: https://myapp.runscope.net - headers: - type: array - items: - type: object - properties: - name: - type: string - example: X-Dwolla-Topic - value: - type: string - example: transfer_created - body: - type: string - example: id:03c7e14c-7f15-44a2-bcf7-83f2f7e95d50resourceId:81BA6F36-CD7C-E511-80DB-0AA34A9B2388topic:transfer_createdtimestamp:2022-10-27T17:07:34.207Z_links:self:href:https://api.dwolla.com/events/03c7e14c-7f15-44a2-bcf7-83f2f7e95d50account:href:https://api.dwolla.com/accounts/ca32853c-48fa-40be-ae75-77b37504581bresource:href:https://api.dwolla.com/transfers/81BA6F36-CD7C-E511-80DB-0AA34A9B2388 - response: - type: object - properties: - timestamp: - type: string - format: date-time - example: '2022-10-27T17:07:34.308Z' - headers: - type: array - items: - type: object - properties: - name: - type: string - example: Date - value: - type: string - example: Tue 27 Oct 2022 17:07:34 GMT - statusCode: - type: integer - format: int32 - example: 200 - body: - type: string - example: body:id:03c7e14c-7f15-44a2-bcf7-83f2f7e95d50resourceId:81BA6F36-CD7C-E511-80DB-0AA34A9B2388topic:transfer_createdtimestamp:2022-10-27T17:07:34.207Z_links:self:href:https://api.dwolla.com/events/03c7e14c-7f15-44a2-bcf7-83f2f7e95d50account:href:https://api.dwolla.com/accounts/ca32853c-48fa-40be-ae75-77b37504581bresource:href:https://api.dwolla.com/transfers/81BA6F36-CD7C-E511-80DB-0AA34A9B2388files:[]form:fragment:headers:Connection:[close]Content-Length:[453]Content-Type:[application/json; charset=UTF-8]Host:[myapp.runscope.net]User-Agent:[dwolla-webhooks/1.0]X-Dwolla-Topic:[transfer_created]X-Request-Signature:[bd93780bd7e1ad77ab821094aaa0f9e3dece5ee3]host:myapp.runscope.netmethod:POSTparams:path:/region:us5runscope_host:prod078.runscope.inscheme:httpssource:capturesource_ip:52.24.10.184timestamp:1.4459656543078682e+09url:https://myapp.runscope.net/ - WebhookRetries: - title: WebhookRetries - type: object - properties: - _links: - type: object - properties: - self: - type: object - properties: - href: - type: string - example: https://api.dwolla.com/webhooks/9ece9660-aa34-41eb-80d7-0125d53b45e8/retries - _embedded: - type: object - properties: - retries: - type: array - items: - type: object - properties: - _links: - type: object - properties: - self: - type: object - properties: - href: - type: string - example: https://api.dwolla.com/webhooks/9ece9660-aa34-41eb-80d7-0125d53b45e8/retries/5aa27a0f-cf99-418d-a3ee-67c0ff99a494 - webhook: - type: object - properties: - href: - type: string - example: https://api.dwolla.com/webhooks/9ece9660-aa34-41eb-80d7-0125d53b45e8 - id: - type: string - example: 5aa27a0f-cf99-418d-a3ee-67c0ff99a494 - timestamp: - type: string - format: date-time - example: '2022-11-02T17:43:26.000Z' - total: - type: integer - format: int32 - example: 1 - ExchangePartner: - title: ExchangePartner + example: Jane Corp + UpdateVerifiedPersonal: + title: UpdateVerifiedPersonal + description: Update Verified Personal Customer Information type: object required: - - _links - - id - - name - - status - - created + - operationType properties: - _links: - additionalProperties: - $ref: '#/components/schemas/HalLink' - id: + operationType: type: string - example: d3d6b41e-5567-4bc6-9c6e-0efd0a3e647e - name: + const: updateVerifiedPersonal + email: type: string - enum: - - MX - - Plaid - - Flinks - - Finicity - example: Plaid - status: + example: accountAdmin@email.com + ipAddress: type: string - enum: - - active - example: active - created: + example: 143.156.7.8 + address1: type: string - format: date-time - example: '2022-07-23T00:18:21.419Z' - ExchangePartners: - title: ExchangePartners - type: object - properties: - _links: - additionalProperties: - $ref: '#/components/schemas/HalLink' - _embedded: - type: object - properties: - exchange-partners: - type: array - items: - $ref: '#/components/schemas/ExchangePartner' - total: - type: integer - format: int32 - example: 3 - Exchange: - title: Exchange - type: object - required: - - _links - - id - - status - - created - properties: - _links: - additionalProperties: - $ref: '#/components/schemas/HalLink' - id: + example: 123 Main Street + address2: type: string - example: d3d6b41e-5567-4bc6-9c6e-0efd0a3e647e - status: + example: XYZ Suite + city: type: string - enum: - - active - - deactivated - - removed - example: active - created: + example: Des Moines + state: type: string - format: date-time - example: '2022-07-23T00:18:21.419Z' - Exchanges: - title: Exchanges - type: object + example: IA + postalCode: + type: string + example: '50309' + phone: + type: string + example: 5555555555 + UpdateVerifiedBusiness: + title: UpdateVerifiedBusiness + description: Update Verified Business Customer Information (both Sole Proprietorship and Non-Sole Proprietorship) required: - - _links - - _embedded - - total + - operationType properties: - _links: - additionalProperties: - $ref: '#/components/schemas/HalLink' - _embedded: - type: object - required: - - exchanges - properties: - exchanges: - type: array - items: - $ref: '#/components/schemas/Exchange' - total: - type: integer - format: int32 - example: 3 - CreateFinicitySecureExchange: - title: CreateFinicitySecureExchange - type: object - required: - - _links - - finicity - properties: - _links: - type: object - properties: - exchange-partner: - type: object - properties: - href: - type: string - example: https://api.dwolla.com/exchange-partners/292317ec-e252-47d8-93c3-2d128e037aa4 - finicity: - type: object - properties: - profile: - type: integer - format: int32 - example: 3 - version: - type: string - example: '1' - receiptId: - type: string - example: cr_4N47ou7SlppuIxq0ZUtACh10vYcloY - receiptVersion: - type: string - example: '1' - customerId: - type: string - example: '5454874858510164117' - partnerId: - type: integer - format: int64 - example: 2445583946651 - products: - type: array - items: - type: object - properties: - product: - type: string - example: moneyTransferDetails - accountId: - type: string - example: '1015199035827334916' - accessPeriod: - type: object - properties: - type: - type: string - example: timeframe - startTime: - type: string - format: date - example: '2022-07-06' - endTime: - type: string - format: date-time - example: '2022-08-16T06:06:20Z' - timestamp: - type: string - format: date-time - example: '2022-07-11T06:06:23Z' - CreateTokenBasedExchange: - title: CreateTokenBasedExchange - description: Create an exchange using a token. Supports MX, Plaid, and Flinks secure exchange flows. - type: object - required: - - _links - - token - properties: - _links: - type: object - required: - - exchange-partner - properties: - exchange-partner: - type: object - properties: - href: - type: string - example: https://api.dwolla.com/exchange-partners/292317ec-e252-47d8-93c3-2d128e037aa4 - token: + operationType: type: string - description: Connection or processor token from the exchange partner - example: sandbox-token-abc123 - InvalidExchangeToken: - title: InvalidExchangeToken + const: updateVerifiedBusiness + email: + type: string + example: accountAdmin@email.com + ipAddress: + type: string + example: 143.156.7.8 + address1: + type: string + example: 123 Main Street + address2: + type: string + example: XYZ Suite + city: + type: string + example: Des Moines + state: + type: string + example: IA + postalCode: + type: string + example: '50309' + phone: + type: string + example: 5555555555 + doingBusinessAs: + type: string + example: Jane's Electronics + website: + type: string + example: https://www.domain.com + UpgradeToUnverified: + title: UpgradeToUnverified + description: Upgrade Receive Only User to Unverified Customer type: object required: - - code - - message + - operationType + - type properties: - code: + operationType: type: string - example: InvalidExchangeToken - message: + const: upgradeToUnverified + type: type: string - example: Exchange token is expired. - InvalidExchange: - title: InvalidExchange + example: unverified + UpgradeToVerifiedPersonal: + title: UpgradeToVerifiedPersonal + description: Upgrade Unverified Customer to Verified Personal Customer type: object required: - - code - - message + - operationType + - firstName + - lastName + - email + - address1 + - city + - state + - postalCode + - dateOfBirth + - type + - ssn properties: - code: + operationType: type: string - example: InvalidExchange - message: + const: upgradeToVerifiedPersonal + firstName: type: string - example: The exchange is no longer active. - CreateMXOpenBankingExchange: - title: CreateMXOpenBankingExchange + example: John + lastName: + type: string + example: Doe + email: + type: string + example: johndoe@email.net + ipAddress: + type: string + example: 10.10.10.10 + type: + type: string + example: personal + address1: + type: string + example: 99-99 33rd St + city: + type: string + example: Some City + state: + type: string + example: NY + postalCode: + type: string + example: 11101 + dateOfBirth: + type: string + example: 1970-01-01 + ssn: + type: string + example: 1234 + UpgradeToVerifiedBusiness: + title: UpgradeToVerifiedBusiness + description: Upgrade Unverified Customer to Verified Business Customer type: object required: - - _links - - mx + - operationType + - firstName + - lastName + - email + - type + - address1 + - city + - state + - postalCode + - controller + - businessClassification + - businessType + - businessName + - ein properties: - _links: + operationType: + type: string + const: upgradeToVerifiedBusiness + firstName: + type: string + example: Account + lastName: + type: string + example: Admin + email: + type: string + example: accountAdmin@email.com + ipAddress: + type: string + example: 143.156.7.8 + type: + type: string + example: business + address1: + type: string + example: 99-99 33rd St + city: + type: string + example: Some City + state: + type: string + example: NY + postalCode: + type: string + example: 11101 + controller: type: object required: - - exchange-partner + - firstName + - lastName + - title + - dateOfBirth + - address properties: - exchange-partner: - type: object - required: - - href - properties: - href: - type: string - format: uri - example: https://api.dwolla.com/exchange-partners/bca8d065-49a5-475b-a6b4-509bc8504d22 - mx: - type: object - required: - - availableConnectionToken - properties: - availableConnectionToken: + firstName: type: string - description: The MX connection token for the available connection - example: eyJhY2NvdW50SWQiOiJBQ1QtMjAxY2FkM2MtYzc2Yi00N2M1LWI3Y2QtMTkxY2FhNzdlZWM5IiwibWVtYmVySWQiOiJNQlItZGNjZWY0ZWMtOGM4MC00NTlmLTlhMGItMTc1ZTA0OTJmZWIzIn0= - CreatePlaidOpenBankingExchange: - title: CreatePlaidOpenBankingExchange - type: object - required: - - _links - - plaid - properties: - _links: - type: object - required: - - exchange-partner - properties: - exchange-partner: - type: object - required: - - href - properties: - href: - type: string - format: uri - example: https://api.dwolla.com/exchange-partners/f53ffb32-c84f-496a-9d9d-acd100d396ef - plaid: - type: object - required: - - publicToken - properties: - publicToken: + example: John + lastName: type: string - description: The Plaid public token for the connection - example: public-production-d5456acb-01d5-4932-9783-e4c883cf1c0c - CreateCustomerExchangeSessionWithRedirect: - title: CreateCustomerExchangeSessionWithRedirect - description: Create exchange session with redirect URL (required for mobile sessions with Plaid) - type: object - required: - - _links - properties: - _links: - type: object - required: - - exchange-partner - - redirect-url - properties: - exchange-partner: + example: Controller + title: + type: string + example: CEO + ssn: + type: string + example: 6789 + dateOfBirth: + type: string + example: 1980-01-31 + address: type: object required: - - href + - address1 + - city + - stateProvinceRegion + - postalCode + - country properties: - href: + address1: type: string - format: uri - example: https://api.dwolla.com/exchange-partners/292317ec-e252-47d8-93c3-2d128e037aa4 - redirect-url: - type: object - required: - - href - properties: - href: + example: 1749 18th st + address2: type: string - format: uri - description: | - Required for Plaid mobile sessions. - For Android: use app URI scheme (e.g., com.example.app123) - For iOS: use HTTPS URL (e.g., https://example.com/app123) - example: https://example.com/app123 - CreateCustomerExchangeSessionForWeb: - title: CreateCustomerExchangeSessionForWeb - description: Create exchange session for web (MX and Plaid web sessions where redirect-url is not required) + example: apt 12 + city: + type: string + example: Des Moines + stateProvinceRegion: + type: string + example: IA + postalCode: + type: string + example: 50266 + country: + type: string + example: US + businessClassification: + type: string + example: 9ed3f670-7d6f-11e3-b1ce-5404a6144203 + businessType: + type: string + example: llc + businessName: + type: string + example: Jane Corp + ein: + type: string + example: 00-0000000 + UpgradeToVerifiedSoleProp: + title: UpgradeToVerifiedSoleProp + description: Upgrade Unverified Customer to Verified Business Customer (Sole Proprietorship) type: object required: - - _links + - operationType + - firstName + - lastName + - email + - type + - dateOfBirth + - ssn + - address1 + - city + - state + - postalCode + - businessClassification + - businessType + - businessName + - ein properties: - _links: - type: object - required: - - exchange-partner - properties: - exchange-partner: - type: object - required: - - href - properties: - href: - type: string - format: uri - example: https://api.dwolla.com/exchange-partners/292317ec-e252-47d8-93c3-2d128e037aa4 - ExchangeSession: + operationType: + type: string + const: upgradeToVerifiedSoleProp + firstName: + type: string + example: Business + lastName: + type: string + example: Owner + email: + type: string + example: solePropBusiness@email.com + ipAddress: + type: string + example: 143.156.7.8 + type: + type: string + example: business + dateOfBirth: + type: string + example: 1980-01-31 + ssn: + type: string + example: 6789 + address1: + type: string + example: 99-99 33rd St + city: + type: string + example: Some City + state: + type: string + example: NY + postalCode: + type: string + example: 11101 + businessClassification: + type: string + example: 9ed3f670-7d6f-11e3-b1ce-5404a6144203 + businessType: + type: string + example: soleProprietorship + businessName: + type: string + example: Jane Corp + ein: + type: string + example: 00-0000000 + RetryVerifiedPersonal: + title: RetryVerifiedPersonal + description: Retry Verification for Verified Personal Customer type: object required: - - created - - _links + - operationType + - firstName + - lastName + - email + - address1 + - city + - state + - postalCode + - dateOfBirth + - type + - ssn properties: - created: + operationType: type: string - format: date-time - example: '2024-03-25T17:13:38.430Z' - _links: - type: object - required: - - self - - exchange-partner - properties: - self: - type: object - required: - - href - - type - - resource-type - properties: - href: - type: string - format: uri - example: https://api.dwolla.com/exchange-sessions/9b7fb629-0fad-44f4-8c5e-44c25a0bfa8e - type: - type: string - example: application/vnd.dwolla.v1.hal+json - resource-type: - type: string - example: exchange-sessions - exchange-partner: - type: object - required: - - href - - type - - resource-type - properties: - href: - type: string - format: uri - example: https://api.dwolla.com/exchange-partners/bca8d065-49a5-475b-a6b4-509bc8504d22 - type: - type: string - example: application/vnd.dwolla.v1.hal+json - resource-type: - type: string - example: exchange-partner - external-provider-session: - type: object - required: - - href - - type - - resource-type - properties: - href: - type: string - format: uri - description: | - Present for MX exchange sessions. - Contains the URL to redirect the user to complete the authorization process. - example: https://www.mx.com/connect/lAfkc7m897s3t1ks9mmwyj4ry7Zq0xql4grzAg1kz77x7c9jrwls1t22w6xt8d2lsxx9zpqv30js3wswfdwcrpAsqgbAfkqwpksp7c2chsx167xy90Asfc67dkj9y48y8p142xw3yp4x5l9t9gkk6m3yk5vwsvyq2qq7w9trszxwdl14lmkg7l6949bn5n41chdkbnxycy40n9b6fkbdwl6qt5wl107k1x8srvlkpz325p412x9tkyA5clf39109lsfrgz2lkgsvntqf7l0zzwb5hl658gdjbxwhb52krwybnbdAqfq69cdy54l05jkvfwyf01q89x48jtgtx290lzjdfcty1lwb8d648wns/eyJ1aV9tZXNzYWdlX3ZlcnNpb24iOjQsInVpX21lc3NhZ2Vfd2Vidmlld191cmxfc2NoZW1lIjoibXgiLCJtb2RlIjoidmVyaWZpY2F0aW9uIn0%3D - type: - type: string - example: application/vnd.dwolla.v1.hal+json - resource-type: - type: string - example: text/html - externalProviderSessionToken: + const: retryVerifiedPersonal + firstName: type: string - description: | - Present for Plaid exchange sessions. - Contains the token to initialize the Plaid Link flow. - example: link-production-b41e8ed3-0874-4c64-b07d-a77088979d5f - CreateReAuthExchangeSessionForWeb: - title: CreateReAuthExchangeSessionForWeb - description: Create re-auth exchange session for web (Plaid web sessions where request body is optional) + example: John + lastName: + type: string + example: Doe + email: + type: string + example: johndoe@email.net + ipAddress: + type: string + example: 10.10.10.10 + type: + type: string + example: personal + address1: + type: string + example: 99-99 33rd St + city: + type: string + example: Some City + state: + type: string + example: NY + postalCode: + type: string + example: 11101 + dateOfBirth: + type: string + example: 1970-01-01 + ssn: + type: string + example: 1234 + RetryVerifiedBusinessNoController: + title: RetryVerifiedBusinessNoController + description: Retry Verification for Verified Business Customer where only Business Details need to be retried type: object - properties: {} - CreateReAuthExchangeSessionWithRedirect: - title: CreateReAuthExchangeSessionWithRedirect - description: Create re-auth exchange session with redirect URL (required for mobile sessions with Plaid) + required: + - operationType + - firstName + - lastName + - email + - type + - address1 + - city + - state + - postalCode + - businessClassification + - businessType + - businessName + - ein + properties: + operationType: + type: string + const: retryVerifiedBusinessNoController + firstName: + type: string + example: Account + lastName: + type: string + example: Admin + email: + type: string + example: accountAdmin@email.com + ipAddress: + type: string + example: 143.156.7.8 + type: + type: string + example: business + address1: + type: string + example: 99-99 33rd St + city: + type: string + example: Some City + state: + type: string + example: NY + postalCode: + type: string + example: 11101 + businessClassification: + type: string + example: 9ed3f670-7d6f-11e3-b1ce-5404a6144203 + businessType: + type: string + example: llc + businessName: + type: string + example: Jane Corp + ein: + type: string + example: 00-0000000 + RetryVerifiedBusinessWithController: + title: RetryVerifiedBusinessWithController + description: Retry Verification for Verified Business Customer where Business Details as well as Controller Details need to be retried type: object required: - - _links + - operationType + - firstName + - lastName + - email + - type + - address1 + - city + - state + - postalCode + - controller + - businessClassification + - businessType + - businessName + - ein properties: - _links: + operationType: + type: string + const: retryVerifiedBusinessWithController + firstName: + type: string + example: Account + lastName: + type: string + example: Admin + email: + type: string + example: accountAdmin@email.com + ipAddress: + type: string + example: 143.156.7.8 + type: + type: string + example: business + address1: + type: string + example: 99-99 33rd St + city: + type: string + example: Some City + state: + type: string + example: NY + postalCode: + type: string + example: 11101 + controller: type: object required: - - redirect-url + - firstName + - lastName + - title + - ssn + - dateOfBirth + - address properties: - redirect-url: + firstName: + type: string + example: John + lastName: + type: string + example: Controller + title: + type: string + example: CEO + ssn: + type: string + example: 123456789 + dateOfBirth: + type: string + example: 1980-01-31 + address: type: object required: - - href + - address1 + - city + - stateProvinceRegion + - postalCode + - country properties: - href: + address1: type: string - format: uri - description: | - Required for Plaid mobile sessions. - For Android: use app URI scheme (e.g., com.example.app123) - For iOS: use HTTPS URL (e.g., https://example.com/app123) - example: https://example.com/app123 - AvailableExchangeConnections: + example: 1749 18th st + address2: + type: string + example: apt 12 + city: + type: string + example: Des Moines + stateProvinceRegion: + type: string + example: IA + postalCode: + type: string + example: 50266 + country: + type: string + example: US + businessClassification: + type: string + example: 9ed3f670-7d6f-11e3-b1ce-5404a6144203 + businessType: + type: string + example: llc + businessName: + type: string + example: Jane Corp + ein: + type: string + example: 00-0000000 + RetryVerifiedBusinessWithInternationalController: + title: RetryVerifiedBusinessWithInternationalController + description: Retry Verification for Verified Business Customer where Business Details as well as International Controller Details need to be retried type: object required: - - _links - - _embedded + - operationType + - firstName + - lastName + - email + - type + - address1 + - city + - state + - postalCode + - controller + - businessClassification + - businessType + - businessName + - ein properties: - _links: + operationType: + type: string + const: retryVerifiedBusinessWithInternationalController + firstName: + type: string + example: Account + lastName: + type: string + example: Admin + email: + type: string + example: accountAdmin@email.com + ipAddress: + type: string + example: 143.156.7.8 + type: + type: string + example: business + address1: + type: string + example: 99-99 33rd St + city: + type: string + example: Some City + state: + type: string + example: NY + postalCode: + type: string + example: 11101 + controller: type: object required: - - self - - customers + - firstName + - lastName + - title + - dateOfBirth + - address + - passport properties: - self: + firstName: + type: string + example: John + lastName: + type: string + example: Controller + title: + type: string + example: CEO + dateOfBirth: + type: string + example: 1980-01-31 + address: type: object required: - - href - - type - - resource-type + - address1 + - city + - country + - stateProvinceRegion properties: - href: + address1: type: string - format: uri - example: https://api.dwolla.com/customers/1b54c81a-261f-4779-bb57-9405e6e00694/available-exchange-connections - type: + example: 462 Main Street + address2: type: string - example: application/vnd.dwolla.v1.hal+json - resource-type: + example: Suite 123 + address3: type: string - example: customer - customers: + example: Unit 123 + city: + type: string + example: Des Moines + postalCode: + type: string + example: '50309' + country: + type: string + example: USA + stateProvinceRegion: + type: string + example: 'IA' + passport: type: object required: - - href - - type - - resource-type + - number + - country properties: - href: - type: string - format: uri - example: https://api.dwolla.com/customers/1b54c81a-261f-4779-bb57-9405e6e00694 - type: + number: type: string - example: application/vnd.dwolla.v1.hal+json - resource-type: + country: type: string - example: customer - _embedded: - type: object - required: - - available-exchange-connections - properties: - available-exchange-connections: - type: array - items: - type: object - required: - - availableConnectionToken - - name - properties: - availableConnectionToken: - type: string - description: Token representing the external bank account that can be used to create a funding source - example: eyJhY2NvdW50SWQiOiJBQ1QtMjAxY2FkM2MtYzc2Yi00N2M1LWI3Y2QtMTkxY2FhNzdlZWM5IiwibWVtYmVySWQiOiJNQlItZGNjZWY0ZWMtOGM4MC00NTlmLTlhMGItMTc1ZTA0OTJmZWIzIn0= - name: - type: string - description: Name of the external bank account - example: XYZ Checking + businessClassification: + type: string + example: 9ed3f670-7d6f-11e3-b1ce-5404a6144203 + businessType: + type: string + example: llc + businessName: + type: string + example: Jane Corp + ein: + type: string + example: 00-0000000 + RetryVerifiedSoleProp: + title: RetryVerifiedSoleProp + description: Retry Verification for Verified Business Customer (Sole Proprietorship) + type: object + required: + - operationType + - firstName + - lastName + - email + - type + - dateOfBirth + - ssn + - address1 + - city + - state + - postalCode + - businessClassification + - businessType + - businessName + - ein + properties: + operationType: + type: string + const: retryVerifiedSoleProp + firstName: + type: string + example: Business + lastName: + type: string + example: Owner + email: + type: string + example: solePropBusiness@email.com + ipAddress: + type: string + example: 143.156.7.8 + type: + type: string + example: business + dateOfBirth: + type: string + example: 1980-01-31 + ssn: + type: string + example: 6789 + address1: + type: string + example: 99-99 33rd St + city: + type: string + example: Some City + state: + type: string + example: NY + postalCode: + type: string + example: 11101 + businessClassification: + type: string + example: 9ed3f670-7d6f-11e3-b1ce-5404a6144203 + businessType: + type: string + example: soleProprietorship + businessName: + type: string + example: Jane Corp + ein: + type: string + example: 00-0000000 headers: Location: description: The location of the created resource diff --git a/.speakeasy/overlay.yaml b/.speakeasy/overlay.yaml new file mode 100644 index 0000000..b31a107 --- /dev/null +++ b/.speakeasy/overlay.yaml @@ -0,0 +1,1120 @@ +overlay: 1.0.0 +x-speakeasy-jsonpath: rfc9535 +info: + title: PHP SDK Overlay + version: 0.0.0 +x-speakeasy-timeout: 60000 +x-speakeasy-retries: + strategy: backoff + backoff: + initialInterval: 2000 # 2 seconds + maxInterval: 300000 # 300 seconds + maxElapsedTime: 1800000 # 1800 seconds + exponent: 2 + statusCodes: + - 429 # Rate limit errors (both concurrency and volume-based) + - 5XX # Server errors + retryConnectionErrors: true +actions: + # Override Speakeasy server-id for each server + - target: $.servers[0] + update: + x-speakeasy-server-id: prod + - target: $.servers[1] + update: + x-speakeasy-server-id: sandbox + + # Remove existing customer update schemas from base spec to avoid duplicates + - target: $["components"]["schemas"]["DeactivateCustomer"] + remove: true + - target: $["components"]["schemas"]["ReactivateCustomer"] + remove: true + - target: $["components"]["schemas"]["SuspendCustomer"] + remove: true + - target: $["components"]["schemas"]["UpdateUnverifiedAndReceiveOnly"] + remove: true + - target: $["components"]["schemas"]["UpdateVerifiedPersonal"] + remove: true + - target: $["components"]["schemas"]["UpdateVerifiedBusiness"] + remove: true + - target: $["components"]["schemas"]["UpgradeToUnverified"] + remove: true + - target: $["components"]["schemas"]["UpgradeToVerifiedPersonal"] + remove: true + - target: $["components"]["schemas"]["UpgradeToVerifiedBusiness"] + remove: true + - target: $["components"]["schemas"]["UpgradeToVerifiedSoleProp"] + remove: true + - target: $["components"]["schemas"]["RetryVerifiedPersonal"] + remove: true + - target: $["components"]["schemas"]["RetryVerifiedBusinessNoController"] + remove: true + - target: $["components"]["schemas"]["RetryVerifiedBusinessWithController"] + remove: true + - target: $["components"]["schemas"]["RetryVerifiedBusinessWithInternationalController"] + remove: true + - target: $["components"]["schemas"]["RetryVerifiedSoleProp"] + remove: true + + # Add discriminated union schemas for customer updates (completely redefined) + - target: $["components"]["schemas"] + update: + DeactivateCustomer: + title: DeactivateCustomer + description: Deactivate a Customer + type: object + required: + - operationType + - status + properties: + operationType: + type: string + const: deactivate + status: + type: string + example: deactivated + ReactivateCustomer: + title: ReactivateCustomer + description: Reactivate a Customer + type: object + required: + - operationType + - status + properties: + operationType: + type: string + const: reactivate + status: + type: string + example: reactivated + SuspendCustomer: + title: SuspendCustomer + description: Suspend a Customer + type: object + required: + - operationType + - status + properties: + operationType: + type: string + const: suspend + status: + type: string + example: suspended + UpdateUnverifiedAndReceiveOnly: + title: UpdateUnverifiedAndReceiveOnly + description: Update Unverified Customer or Receive Only User Information + type: object + required: + - operationType + properties: + operationType: + type: string + const: updateUnverifiedOrReceiveOnly + firstName: + type: string + example: John + lastName: + type: string + example: Doe + email: + type: string + example: accountAdmin@email.com + businessName: + type: string + example: Jane Corp + UpdateVerifiedPersonal: + title: UpdateVerifiedPersonal + description: Update Verified Personal Customer Information + type: object + required: + - operationType + properties: + operationType: + type: string + const: updateVerifiedPersonal + email: + type: string + example: accountAdmin@email.com + ipAddress: + type: string + example: 143.156.7.8 + address1: + type: string + example: 123 Main Street + address2: + type: string + example: XYZ Suite + city: + type: string + example: Des Moines + state: + type: string + example: IA + postalCode: + type: string + example: '50309' + phone: + type: string + example: 5555555555 + UpdateVerifiedBusiness: + title: UpdateVerifiedBusiness + description: Update Verified Business Customer Information (both Sole Proprietorship and Non-Sole Proprietorship) + required: + - operationType + properties: + operationType: + type: string + const: updateVerifiedBusiness + email: + type: string + example: accountAdmin@email.com + ipAddress: + type: string + example: 143.156.7.8 + address1: + type: string + example: 123 Main Street + address2: + type: string + example: XYZ Suite + city: + type: string + example: Des Moines + state: + type: string + example: IA + postalCode: + type: string + example: '50309' + phone: + type: string + example: 5555555555 + doingBusinessAs: + type: string + example: Jane's Electronics + website: + type: string + example: https://www.domain.com + UpgradeToUnverified: + title: UpgradeToUnverified + description: Upgrade Receive Only User to Unverified Customer + type: object + required: + - operationType + - type + properties: + operationType: + type: string + const: upgradeToUnverified + type: + type: string + example: unverified + UpgradeToVerifiedPersonal: + title: UpgradeToVerifiedPersonal + description: Upgrade Unverified Customer to Verified Personal Customer + type: object + required: + - operationType + - firstName + - lastName + - email + - address1 + - city + - state + - postalCode + - dateOfBirth + - type + - ssn + properties: + operationType: + type: string + const: upgradeToVerifiedPersonal + firstName: + type: string + example: John + lastName: + type: string + example: Doe + email: + type: string + example: johndoe@email.net + ipAddress: + type: string + example: 10.10.10.10 + type: + type: string + example: personal + address1: + type: string + example: 99-99 33rd St + city: + type: string + example: Some City + state: + type: string + example: NY + postalCode: + type: string + example: 11101 + dateOfBirth: + type: string + example: 1970-01-01 + ssn: + type: string + example: 1234 + UpgradeToVerifiedBusiness: + title: UpgradeToVerifiedBusiness + description: Upgrade Unverified Customer to Verified Business Customer + type: object + required: + - operationType + - firstName + - lastName + - email + - type + - address1 + - city + - state + - postalCode + - controller + - businessClassification + - businessType + - businessName + - ein + properties: + operationType: + type: string + const: upgradeToVerifiedBusiness + firstName: + type: string + example: Account + lastName: + type: string + example: Admin + email: + type: string + example: accountAdmin@email.com + ipAddress: + type: string + example: 143.156.7.8 + type: + type: string + example: business + address1: + type: string + example: 99-99 33rd St + city: + type: string + example: Some City + state: + type: string + example: NY + postalCode: + type: string + example: 11101 + controller: + type: object + required: + - firstName + - lastName + - title + - dateOfBirth + - address + properties: + firstName: + type: string + example: John + lastName: + type: string + example: Controller + title: + type: string + example: CEO + ssn: + type: string + example: 6789 + dateOfBirth: + type: string + example: 1980-01-31 + address: + type: object + required: + - address1 + - city + - stateProvinceRegion + - postalCode + - country + properties: + address1: + type: string + example: 1749 18th st + address2: + type: string + example: apt 12 + city: + type: string + example: Des Moines + stateProvinceRegion: + type: string + example: IA + postalCode: + type: string + example: 50266 + country: + type: string + example: US + businessClassification: + type: string + example: 9ed3f670-7d6f-11e3-b1ce-5404a6144203 + businessType: + type: string + example: llc + businessName: + type: string + example: Jane Corp + ein: + type: string + example: 00-0000000 + UpgradeToVerifiedSoleProp: + title: UpgradeToVerifiedSoleProp + description: Upgrade Unverified Customer to Verified Business Customer (Sole Proprietorship) + type: object + required: + - operationType + - firstName + - lastName + - email + - type + - dateOfBirth + - ssn + - address1 + - city + - state + - postalCode + - businessClassification + - businessType + - businessName + - ein + properties: + operationType: + type: string + const: upgradeToVerifiedSoleProp + firstName: + type: string + example: Business + lastName: + type: string + example: Owner + email: + type: string + example: solePropBusiness@email.com + ipAddress: + type: string + example: 143.156.7.8 + type: + type: string + example: business + dateOfBirth: + type: string + example: 1980-01-31 + ssn: + type: string + example: 6789 + address1: + type: string + example: 99-99 33rd St + city: + type: string + example: Some City + state: + type: string + example: NY + postalCode: + type: string + example: 11101 + businessClassification: + type: string + example: 9ed3f670-7d6f-11e3-b1ce-5404a6144203 + businessType: + type: string + example: soleProprietorship + businessName: + type: string + example: Jane Corp + ein: + type: string + example: 00-0000000 + RetryVerifiedPersonal: + title: RetryVerifiedPersonal + description: Retry Verification for Verified Personal Customer + type: object + required: + - operationType + - firstName + - lastName + - email + - address1 + - city + - state + - postalCode + - dateOfBirth + - type + - ssn + properties: + operationType: + type: string + const: retryVerifiedPersonal + firstName: + type: string + example: John + lastName: + type: string + example: Doe + email: + type: string + example: johndoe@email.net + ipAddress: + type: string + example: 10.10.10.10 + type: + type: string + example: personal + address1: + type: string + example: 99-99 33rd St + city: + type: string + example: Some City + state: + type: string + example: NY + postalCode: + type: string + example: 11101 + dateOfBirth: + type: string + example: 1970-01-01 + ssn: + type: string + example: 1234 + RetryVerifiedBusinessNoController: + title: RetryVerifiedBusinessNoController + description: Retry Verification for Verified Business Customer where only Business Details need to be retried + type: object + required: + - operationType + - firstName + - lastName + - email + - type + - address1 + - city + - state + - postalCode + - businessClassification + - businessType + - businessName + - ein + properties: + operationType: + type: string + const: retryVerifiedBusinessNoController + firstName: + type: string + example: Account + lastName: + type: string + example: Admin + email: + type: string + example: accountAdmin@email.com + ipAddress: + type: string + example: 143.156.7.8 + type: + type: string + example: business + address1: + type: string + example: 99-99 33rd St + city: + type: string + example: Some City + state: + type: string + example: NY + postalCode: + type: string + example: 11101 + businessClassification: + type: string + example: 9ed3f670-7d6f-11e3-b1ce-5404a6144203 + businessType: + type: string + example: llc + businessName: + type: string + example: Jane Corp + ein: + type: string + example: 00-0000000 + RetryVerifiedBusinessWithController: + title: RetryVerifiedBusinessWithController + description: Retry Verification for Verified Business Customer where Business Details as well as Controller Details need to be retried + type: object + required: + - operationType + - firstName + - lastName + - email + - type + - address1 + - city + - state + - postalCode + - controller + - businessClassification + - businessType + - businessName + - ein + properties: + operationType: + type: string + const: retryVerifiedBusinessWithController + firstName: + type: string + example: Account + lastName: + type: string + example: Admin + email: + type: string + example: accountAdmin@email.com + ipAddress: + type: string + example: 143.156.7.8 + type: + type: string + example: business + address1: + type: string + example: 99-99 33rd St + city: + type: string + example: Some City + state: + type: string + example: NY + postalCode: + type: string + example: 11101 + controller: + type: object + required: + - firstName + - lastName + - title + - ssn + - dateOfBirth + - address + properties: + firstName: + type: string + example: John + lastName: + type: string + example: Controller + title: + type: string + example: CEO + ssn: + type: string + example: 123456789 + dateOfBirth: + type: string + example: 1980-01-31 + address: + type: object + required: + - address1 + - city + - stateProvinceRegion + - postalCode + - country + properties: + address1: + type: string + example: 1749 18th st + address2: + type: string + example: apt 12 + city: + type: string + example: Des Moines + stateProvinceRegion: + type: string + example: IA + postalCode: + type: string + example: 50266 + country: + type: string + example: US + businessClassification: + type: string + example: 9ed3f670-7d6f-11e3-b1ce-5404a6144203 + businessType: + type: string + example: llc + businessName: + type: string + example: Jane Corp + ein: + type: string + example: 00-0000000 + RetryVerifiedBusinessWithInternationalController: + title: RetryVerifiedBusinessWithInternationalController + description: Retry Verification for Verified Business Customer where Business Details as well as International Controller Details need to be retried + type: object + required: + - operationType + - firstName + - lastName + - email + - type + - address1 + - city + - state + - postalCode + - controller + - businessClassification + - businessType + - businessName + - ein + properties: + operationType: + type: string + const: retryVerifiedBusinessWithInternationalController + firstName: + type: string + example: Account + lastName: + type: string + example: Admin + email: + type: string + example: accountAdmin@email.com + ipAddress: + type: string + example: 143.156.7.8 + type: + type: string + example: business + address1: + type: string + example: 99-99 33rd St + city: + type: string + example: Some City + state: + type: string + example: NY + postalCode: + type: string + example: 11101 + controller: + type: object + required: + - firstName + - lastName + - title + - dateOfBirth + - address + - passport + properties: + firstName: + type: string + example: John + lastName: + type: string + example: Controller + title: + type: string + example: CEO + dateOfBirth: + type: string + example: 1980-01-31 + address: + type: object + required: + - address1 + - city + - country + - stateProvinceRegion + properties: + address1: + type: string + example: 462 Main Street + address2: + type: string + example: Suite 123 + address3: + type: string + example: Unit 123 + city: + type: string + example: Des Moines + postalCode: + type: string + example: '50309' + country: + type: string + example: USA + stateProvinceRegion: + type: string + example: 'IA' + passport: + type: object + required: + - number + - country + properties: + number: + type: string + country: + type: string + businessClassification: + type: string + example: 9ed3f670-7d6f-11e3-b1ce-5404a6144203 + businessType: + type: string + example: llc + businessName: + type: string + example: Jane Corp + ein: + type: string + example: 00-0000000 + RetryVerifiedSoleProp: + title: RetryVerifiedSoleProp + description: Retry Verification for Verified Business Customer (Sole Proprietorship) + type: object + required: + - operationType + - firstName + - lastName + - email + - type + - dateOfBirth + - ssn + - address1 + - city + - state + - postalCode + - businessClassification + - businessType + - businessName + - ein + properties: + operationType: + type: string + const: retryVerifiedSoleProp + firstName: + type: string + example: Business + lastName: + type: string + example: Owner + email: + type: string + example: solePropBusiness@email.com + ipAddress: + type: string + example: 143.156.7.8 + type: + type: string + example: business + dateOfBirth: + type: string + example: 1980-01-31 + ssn: + type: string + example: 6789 + address1: + type: string + example: 99-99 33rd St + city: + type: string + example: Some City + state: + type: string + example: NY + postalCode: + type: string + example: 11101 + businessClassification: + type: string + example: 9ed3f670-7d6f-11e3-b1ce-5404a6144203 + businessType: + type: string + example: soleProprietorship + businessName: + type: string + example: Jane Corp + ein: + type: string + example: 00-0000000 + + # Fix micro-deposits endpoint name override + - target: $["paths"]["/funding-sources/{id}/micro-deposits"]["get"] + update: + x-speakeasy-name-override: get + + # Remove the original micro-deposits POST endpoint. Micro-deposits operations have been moved to path fragments. + - target: $["paths"]["/funding-sources/{id}/micro-deposits"]["post"] + remove: true + + # Add path fragments for separate micro-deposits operations (Initiate and Verify) + - target: $["paths"] + update: + "/funding-sources/{id}/micro-deposits#initiate": + post: + x-speakeasy-name-override: initiate + tags: + - funding sources + summary: Initiate micro-deposits + description: Initiates two small deposits to the customer's bank account for verification purposes. No request body is required. + operationId: initiateMicroDeposits + x-speakeasy-group: fundingSources.microDeposits + parameters: + - name: id + in: path + description: The ID of the funding source to initiate micro-deposits for + required: true + schema: + type: string + - name: Accept + in: header + required: true + schema: + type: string + default: application/vnd.dwolla.v1.hal+json + responses: + '201': + description: Micro-deposits initiated successfully + headers: + Location: + description: URL of the micro-deposits resource + schema: + type: string + example: "https://api-sandbox.dwolla.com/funding-sources/e52006c3-7560-4ff1-99d5-b0f3a6f4f909/micro-deposits" + '403': + description: Forbidden - funding source not eligible for micro-deposits + headers: {} + content: + application/vnd.dwolla.v1.hal+json: + schema: + type: object + properties: + code: + type: string + example: InvalidResourceState + message: + type: string + example: Bank already verified. + '404': + description: Funding source not found + headers: {} + content: + application/vnd.dwolla.v1.hal+json: + schema: + type: object + properties: + code: + type: string + example: NotFound + message: + type: string + example: The requested resource was not found. + "/funding-sources/{id}/micro-deposits#verify": + post: + x-speakeasy-name-override: verify + tags: + - funding sources + summary: Verify micro-deposits + description: Verifies the micro-deposit amounts received in the customer's bank account to complete funding source verification. + operationId: verifyMicroDeposits + x-speakeasy-group: fundingSources.microDeposits + parameters: + - name: id + in: path + description: The ID of the funding source to verify micro-deposits for + required: true + schema: + type: string + - name: Accept + in: header + required: true + schema: + type: string + default: application/vnd.dwolla.v1.hal+json + requestBody: + required: true + description: The micro-deposit amounts received in the bank account + content: + application/vnd.dwolla.v1.hal+json: + schema: + type: object + required: + - amount1 + - amount2 + properties: + amount1: + type: object + required: + - value + - currency + properties: + value: + type: string + example: 0.02 + currency: + type: string + example: USD + amount2: + type: object + required: + - value + - currency + properties: + value: + type: string + example: 0.03 + currency: + type: string + example: USD + responses: + '200': + description: Micro-deposits verified successfully + headers: {} + content: + application/vnd.dwolla.v1.hal+json: + schema: + type: object + properties: + _links: + type: object + properties: + self: + type: object + properties: + href: + type: string + format: uri + example: 'https://api-sandbox.dwolla.com/funding-sources/2e446d1b-fb3c-42a0-9691-5d1d6a4dbbf0/micro-deposits' + type: + type: string + example: 'application/vnd.dwolla.v1.hal+json' + resource-type: + type: string + example: 'micro-deposits' + '400': + description: Bad Request - invalid deposit amounts + headers: {} + content: + application/vnd.dwolla.v1.hal+json: + schema: + type: object + properties: + code: + type: string + example: ValidationError + message: + type: string + example: Validation error(s) present. See embedded errors list for more details. + _embedded: + type: object + properties: + errors: + type: array + items: + type: object + properties: + code: + type: string + example: Invalid + message: + type: string + example: Wrong amount(s). + path: + type: string + example: "" + _links: + type: object + '403': + description: Forbidden - verification not allowed in current state + headers: {} + content: + application/vnd.dwolla.v1.hal+json: + schema: + type: object + properties: + code: + type: string + example: InvalidResourceState + message: + type: string + example: Too many attempts. + '404': + description: Funding source not found + headers: {} + content: + application/vnd.dwolla.v1.hal+json: + schema: + type: object + properties: + code: + type: string + example: NotFound + message: + type: string + example: The requested resource was not found. + + # Add discriminated unions for customer update operation + - target: $["paths"]["/customers/{id}"]["post"]["requestBody"]["content"]["application/json"]["schema"]["oneOf"] + remove: true + - target: $["paths"]["/customers/{id}"]["post"]["requestBody"]["content"]["application/json"]["schema"]["oneOf"] + update: + oneOf: + - $ref: '#/components/schemas/DeactivateCustomer' + - $ref: '#/components/schemas/ReactivateCustomer' + - $ref: '#/components/schemas/SuspendCustomer' + - $ref: '#/components/schemas/UpdateUnverifiedAndReceiveOnly' + - $ref: '#/components/schemas/UpdateVerifiedPersonal' + - $ref: '#/components/schemas/UpdateVerifiedBusiness' + - $ref: '#/components/schemas/UpgradeToVerifiedPersonal' + - $ref: '#/components/schemas/UpgradeToVerifiedBusiness' + - $ref: '#/components/schemas/UpgradeToVerifiedSoleProp' + - $ref: '#/components/schemas/RetryVerifiedPersonal' + - $ref: '#/components/schemas/RetryVerifiedBusinessNoController' + - $ref: '#/components/schemas/RetryVerifiedBusinessWithController' + - $ref: '#/components/schemas/RetryVerifiedBusinessWithInternationalController' + - $ref: '#/components/schemas/RetryVerifiedSoleProp' + discriminator: + propertyName: operationType + mapping: + deactivate: '#/components/schemas/DeactivateCustomer' + reactivate: '#/components/schemas/ReactivateCustomer' + suspend: '#/components/schemas/SuspendCustomer' + updateUnverifiedOrReceiveOnly: '#/components/schemas/UpdateUnverifiedAndReceiveOnly' + updateVerifiedPersonal: '#/components/schemas/UpdateVerifiedPersonal' + updateVerifiedBusiness: '#/components/schemas/UpdateVerifiedBusiness' + upgradeToVerifiedPersonal: '#/components/schemas/UpgradeToVerifiedPersonal' + upgradeToVerifiedBusiness: '#/components/schemas/UpgradeToVerifiedBusiness' + upgradeToVerifiedSoleProp: '#/components/schemas/UpgradeToVerifiedSoleProp' + retryVerifiedPersonal: '#/components/schemas/RetryVerifiedPersonal' + retryVerifiedBusinessNoController: '#/components/schemas/RetryVerifiedBusinessNoController' + retryVerifiedBusinessWithController: '#/components/schemas/RetryVerifiedBusinessWithController' + retryVerifiedBusinessWithInternationalController: '#/components/schemas/RetryVerifiedBusinessWithInternationalController' + retryVerifiedSoleProp: '#/components/schemas/RetryVerifiedSoleProp' diff --git a/.speakeasy/workflow.lock b/.speakeasy/workflow.lock index 28c4a31..8ae86f2 100644 --- a/.speakeasy/workflow.lock +++ b/.speakeasy/workflow.lock @@ -1,9 +1,9 @@ -speakeasyVersion: 1.685.0 +speakeasyVersion: 1.690.1 sources: Dwolla API: sourceNamespace: dwolla-api - sourceRevisionDigest: sha256:c53d3645517fdf38c882c4a3ad0a0c05f9bd360f72fffd5c1174cfbe090303fb - sourceBlobDigest: sha256:2fe7146abebdc8acf2c09a1cca5d83dc387dc390171fca930e3b67c46f8d8edb + sourceRevisionDigest: sha256:2d1a59af9b39cbd8b1daeb57f598bd8f557cfa4dc1024630744b68a29701005e + sourceBlobDigest: sha256:4b0439f06717d3926f158c442a5d8b52a026b941424bfe5357180b37ef06a03c tags: - latest - "2.0" @@ -11,10 +11,10 @@ targets: dwolla: source: Dwolla API sourceNamespace: dwolla-api - sourceRevisionDigest: sha256:c53d3645517fdf38c882c4a3ad0a0c05f9bd360f72fffd5c1174cfbe090303fb - sourceBlobDigest: sha256:2fe7146abebdc8acf2c09a1cca5d83dc387dc390171fca930e3b67c46f8d8edb + sourceRevisionDigest: sha256:2d1a59af9b39cbd8b1daeb57f598bd8f557cfa4dc1024630744b68a29701005e + sourceBlobDigest: sha256:4b0439f06717d3926f158c442a5d8b52a026b941424bfe5357180b37ef06a03c codeSamplesNamespace: dwolla-api-php-code-samples - codeSamplesRevisionDigest: sha256:188c7a2e074cf6ac119afb3389416a8746b49d35051de0543111f3df95710362 + codeSamplesRevisionDigest: sha256:f3e77804a789193529b73205686af034ce6388dd59066c4017e36634c964a212 workflow: workflowVersion: 1.0.0 speakeasyVersion: latest @@ -22,6 +22,8 @@ workflow: Dwolla API: inputs: - location: https://raw.githubusercontent.com/Dwolla/dwolla-openapi/refs/heads/main/openapi.yml + overlays: + - location: ./.speakeasy/overlay.yaml output: .speakeasy/out.openapi.yaml registry: location: registry.speakeasyapi.dev/dwolla/dwolla/dwolla-api diff --git a/.speakeasy/workflow.yaml b/.speakeasy/workflow.yaml index 1ff358e..bac14e9 100644 --- a/.speakeasy/workflow.yaml +++ b/.speakeasy/workflow.yaml @@ -4,6 +4,8 @@ sources: Dwolla API: inputs: - location: https://raw.githubusercontent.com/Dwolla/dwolla-openapi/refs/heads/main/openapi.yml + overlays: + - location: ./.speakeasy/overlay.yaml output: .speakeasy/out.openapi.yaml registry: location: registry.speakeasyapi.dev/dwolla/dwolla/dwolla-api @@ -11,6 +13,10 @@ targets: dwolla: target: php source: Dwolla API + publish: + packagist: + username: $packagist_username + token: $packagist_token codeSamples: registry: location: registry.speakeasyapi.dev/dwolla/dwolla/dwolla-api-php-code-samples diff --git a/README.md b/README.md index f9f77ba..8ccbf94 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,10 @@ # dwolla-php +The official PHP SDK for the [Dwolla API](https://developers.dwolla.com/docs/api-reference). Supports server-side PHP calls to Dwolla’s endpoints with typed models, simple client helpers, and OAuth token handling to manage customers, funding sources, transfers, webhooks, and more. + +> [!IMPORTANT] +> **Beta Release** – This SDK is currently in beta. We have run smoke coverage (SDK build/clients) and a sandbox getting-started flow (root, list customers, create unverified customer, add funding source). Broader operation coverage and retry wiring are still in progress. Breaking changes may occur as we continue hardening and expanding tests; use with caution in production. We welcome beta users to integrate, report issues, and help us catch edge cases. + ## Summary @@ -295,8 +300,9 @@ if ($response->object !== null) { #### [FundingSources.MicroDeposits](docs/sdks/microdeposits/README.md) -* [getMicroDeposits](docs/sdks/microdeposits/README.md#getmicrodeposits) - Retrieve micro-deposits details -* [initiateOrVerify](docs/sdks/microdeposits/README.md#initiateorverify) - Initiate or Verify micro-deposits +* [get](docs/sdks/microdeposits/README.md#get) - Retrieve micro-deposits details +* [initiate](docs/sdks/microdeposits/README.md#initiate) - Initiate micro-deposits +* [verify](docs/sdks/microdeposits/README.md#verify) - Verify micro-deposits #### [FundingSources.OnDemandTransferAuthorizations](docs/sdks/ondemandtransferauthorizations/README.md) @@ -447,14 +453,14 @@ try { ## Server Selection -### Select Server by Index +### Select Server by Name -You can override the default server globally using the `setServerIndex(int $serverIdx)` builder method when initializing the SDK client instance. The selected server will then be used as the default on the operations that use it. This table lists the indexes associated with the available servers: +You can override the default server globally using the `setServer(string $serverName)` builder method when initializing the SDK client instance. The selected server will then be used as the default on the operations that use it. This table lists the names associated with the available servers: -| # | Server | Description | -| --- | -------------------------------- | ----------------- | -| 0 | `https://api.dwolla.com` | Production server | -| 1 | `https://api-sandbox.dwolla.com` | Sandbox server | +| Name | Server | Description | +| --------- | -------------------------------- | ----------------- | +| `prod` | `https://api.dwolla.com` | Production server | +| `sandbox` | `https://api-sandbox.dwolla.com` | Sandbox server | #### Example @@ -467,7 +473,7 @@ use Dwolla; use Dwolla\Models\Operations; $sdk = Dwolla\Dwolla::builder() - ->setServerIndex(0) + ->setServer('prod') ->build(); $request = new Operations\CreateApplicationAccessTokenRequest( @@ -499,7 +505,7 @@ use Dwolla; use Dwolla\Models\Operations; $sdk = Dwolla\Dwolla::builder() - ->setServerURL('https://api-sandbox.dwolla.com') + ->setServerURL('https://api.dwolla.com') ->build(); $request = new Operations\CreateApplicationAccessTokenRequest( @@ -521,3 +527,11 @@ if ($response->object !== null) { + +## Maturity + +This SDK is currently in beta; expect potential breaking changes while we stabilize. We follow [Semantic Versioning](https://semver.org/) for published versions, but until GA we recommend pinning to an exact version and validating in your environment. + +## Contributions + +While we value open-source contributions to this SDK, this library is generated programmatically. Any manual changes added to internal files will be overwritten on the next generation. We look forward to hearing your feedback. Feel free to open a PR or an issue with a proof of concept and we'll do our best to include it in a future release. diff --git a/docs/Models/Components/VerifiedBusinessCustomerAddress.md b/docs/Models/Components/Address.md similarity index 97% rename from docs/Models/Components/VerifiedBusinessCustomerAddress.md rename to docs/Models/Components/Address.md index 20a79d3..2eb2560 100644 --- a/docs/Models/Components/VerifiedBusinessCustomerAddress.md +++ b/docs/Models/Components/Address.md @@ -1,4 +1,4 @@ -# VerifiedBusinessCustomerAddress +# Address ## Fields diff --git a/docs/Models/Components/DeactivateCustomer.md b/docs/Models/Components/DeactivateCustomer.md deleted file mode 100644 index 5df9f2e..0000000 --- a/docs/Models/Components/DeactivateCustomer.md +++ /dev/null @@ -1,10 +0,0 @@ -# DeactivateCustomer - -Deactivate a Customer - - -## Fields - -| Field | Type | Required | Description | Example | -| ------------------ | ------------------ | ------------------ | ------------------ | ------------------ | -| `status` | *string* | :heavy_check_mark: | N/A | deactivated | \ No newline at end of file diff --git a/docs/Models/Components/ReactivateCustomer.md b/docs/Models/Components/ReactivateCustomer.md deleted file mode 100644 index f300ca5..0000000 --- a/docs/Models/Components/ReactivateCustomer.md +++ /dev/null @@ -1,10 +0,0 @@ -# ReactivateCustomer - -Reactivate a Customer - - -## Fields - -| Field | Type | Required | Description | Example | -| ------------------ | ------------------ | ------------------ | ------------------ | ------------------ | -| `status` | *string* | :heavy_check_mark: | N/A | reactivated | \ No newline at end of file diff --git a/docs/Models/Components/RetryVerifiedBusinessNoController.md b/docs/Models/Components/RetryVerifiedBusinessNoController.md deleted file mode 100644 index acaf6a2..0000000 --- a/docs/Models/Components/RetryVerifiedBusinessNoController.md +++ /dev/null @@ -1,22 +0,0 @@ -# RetryVerifiedBusinessNoController - -Retry Verification for Verified Business Customer where only Business Details need to be retried - - -## Fields - -| Field | Type | Required | Description | Example | -| ------------------------------------ | ------------------------------------ | ------------------------------------ | ------------------------------------ | ------------------------------------ | -| `firstName` | *string* | :heavy_check_mark: | N/A | Account | -| `lastName` | *string* | :heavy_check_mark: | N/A | Admin | -| `email` | *string* | :heavy_check_mark: | N/A | accountAdmin@email.com | -| `ipAddress` | *?string* | :heavy_minus_sign: | N/A | 143.156.7.8 | -| `type` | *string* | :heavy_check_mark: | N/A | business | -| `address1` | *string* | :heavy_check_mark: | N/A | 99-99 33rd St | -| `city` | *string* | :heavy_check_mark: | N/A | Some City | -| `state` | *string* | :heavy_check_mark: | N/A | NY | -| `postalCode` | *string* | :heavy_check_mark: | N/A | 11101 | -| `businessClassification` | *string* | :heavy_check_mark: | N/A | 9ed3f670-7d6f-11e3-b1ce-5404a6144203 | -| `businessType` | *string* | :heavy_check_mark: | N/A | llc | -| `businessName` | *string* | :heavy_check_mark: | N/A | Jane Corp | -| `ein` | *string* | :heavy_check_mark: | N/A | 00-0000000 | \ No newline at end of file diff --git a/docs/Models/Components/RetryVerifiedBusinessWithController.md b/docs/Models/Components/RetryVerifiedBusinessWithController.md deleted file mode 100644 index 8064fdc..0000000 --- a/docs/Models/Components/RetryVerifiedBusinessWithController.md +++ /dev/null @@ -1,23 +0,0 @@ -# RetryVerifiedBusinessWithController - -Retry Verification for Verified Business Customer where Business Details as well as Controller Details need to be retried - - -## Fields - -| Field | Type | Required | Description | Example | -| ------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------ | -| `firstName` | *string* | :heavy_check_mark: | N/A | Account | -| `lastName` | *string* | :heavy_check_mark: | N/A | Admin | -| `email` | *string* | :heavy_check_mark: | N/A | accountAdmin@email.com | -| `ipAddress` | *?string* | :heavy_minus_sign: | N/A | 143.156.7.8 | -| `type` | *string* | :heavy_check_mark: | N/A | business | -| `address1` | *string* | :heavy_check_mark: | N/A | 99-99 33rd St | -| `city` | *string* | :heavy_check_mark: | N/A | Some City | -| `state` | *string* | :heavy_check_mark: | N/A | NY | -| `postalCode` | *string* | :heavy_check_mark: | N/A | 11101 | -| `controller` | [Components\RetryVerifiedBusinessWithControllerController](../../Models/Components/RetryVerifiedBusinessWithControllerController.md) | :heavy_check_mark: | N/A | | -| `businessClassification` | *string* | :heavy_check_mark: | N/A | 9ed3f670-7d6f-11e3-b1ce-5404a6144203 | -| `businessType` | *string* | :heavy_check_mark: | N/A | llc | -| `businessName` | *string* | :heavy_check_mark: | N/A | Jane Corp | -| `ein` | *string* | :heavy_check_mark: | N/A | 00-0000000 | \ No newline at end of file diff --git a/docs/Models/Components/RetryVerifiedBusinessWithControllerAddress.md b/docs/Models/Components/RetryVerifiedBusinessWithControllerAddress.md deleted file mode 100644 index 88c6eba..0000000 --- a/docs/Models/Components/RetryVerifiedBusinessWithControllerAddress.md +++ /dev/null @@ -1,13 +0,0 @@ -# RetryVerifiedBusinessWithControllerAddress - - -## Fields - -| Field | Type | Required | Description | Example | -| --------------------- | --------------------- | --------------------- | --------------------- | --------------------- | -| `address1` | *string* | :heavy_check_mark: | N/A | 1749 18th st | -| `address2` | *?string* | :heavy_minus_sign: | N/A | apt 12 | -| `city` | *string* | :heavy_check_mark: | N/A | Des Moines | -| `stateProvinceRegion` | *string* | :heavy_check_mark: | N/A | IA | -| `postalCode` | *string* | :heavy_check_mark: | N/A | 50266 | -| `country` | *string* | :heavy_check_mark: | N/A | US | \ No newline at end of file diff --git a/docs/Models/Components/RetryVerifiedBusinessWithControllerController.md b/docs/Models/Components/RetryVerifiedBusinessWithControllerController.md deleted file mode 100644 index 05c17da..0000000 --- a/docs/Models/Components/RetryVerifiedBusinessWithControllerController.md +++ /dev/null @@ -1,13 +0,0 @@ -# RetryVerifiedBusinessWithControllerController - - -## Fields - -| Field | Type | Required | Description | Example | -| ------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------ | -| `firstName` | *string* | :heavy_check_mark: | N/A | John | -| `lastName` | *string* | :heavy_check_mark: | N/A | Controller | -| `title` | *string* | :heavy_check_mark: | N/A | CEO | -| `ssn` | *string* | :heavy_check_mark: | N/A | 123456789 | -| `dateOfBirth` | *string* | :heavy_check_mark: | N/A | 1980-01-31 | -| `address` | [Components\RetryVerifiedBusinessWithControllerAddress](../../Models/Components/RetryVerifiedBusinessWithControllerAddress.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/RetryVerifiedBusinessWithInternationalController.md b/docs/Models/Components/RetryVerifiedBusinessWithInternationalController.md deleted file mode 100644 index 46aba9f..0000000 --- a/docs/Models/Components/RetryVerifiedBusinessWithInternationalController.md +++ /dev/null @@ -1,23 +0,0 @@ -# RetryVerifiedBusinessWithInternationalController - -Retry Verification for Verified Business Customer where Business Details as well as International Controller Details need to be retried - - -## Fields - -| Field | Type | Required | Description | Example | -| -------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `firstName` | *string* | :heavy_check_mark: | N/A | Account | -| `lastName` | *string* | :heavy_check_mark: | N/A | Admin | -| `email` | *string* | :heavy_check_mark: | N/A | accountAdmin@email.com | -| `ipAddress` | *?string* | :heavy_minus_sign: | N/A | 143.156.7.8 | -| `type` | *string* | :heavy_check_mark: | N/A | business | -| `address1` | *string* | :heavy_check_mark: | N/A | 99-99 33rd St | -| `city` | *string* | :heavy_check_mark: | N/A | Some City | -| `state` | *string* | :heavy_check_mark: | N/A | NY | -| `postalCode` | *string* | :heavy_check_mark: | N/A | 11101 | -| `controller` | [Components\RetryVerifiedBusinessWithInternationalControllerController](../../Models/Components/RetryVerifiedBusinessWithInternationalControllerController.md) | :heavy_check_mark: | N/A | | -| `businessClassification` | *string* | :heavy_check_mark: | N/A | 9ed3f670-7d6f-11e3-b1ce-5404a6144203 | -| `businessType` | *string* | :heavy_check_mark: | N/A | llc | -| `businessName` | *string* | :heavy_check_mark: | N/A | Jane Corp | -| `ein` | *string* | :heavy_check_mark: | N/A | 00-0000000 | \ No newline at end of file diff --git a/docs/Models/Components/RetryVerifiedBusinessWithInternationalControllerAddress.md b/docs/Models/Components/RetryVerifiedBusinessWithInternationalControllerAddress.md deleted file mode 100644 index 486fcf7..0000000 --- a/docs/Models/Components/RetryVerifiedBusinessWithInternationalControllerAddress.md +++ /dev/null @@ -1,14 +0,0 @@ -# RetryVerifiedBusinessWithInternationalControllerAddress - - -## Fields - -| Field | Type | Required | Description | Example | -| --------------------- | --------------------- | --------------------- | --------------------- | --------------------- | -| `address1` | *string* | :heavy_check_mark: | N/A | 462 Main Street | -| `address2` | *?string* | :heavy_minus_sign: | N/A | Suite 123 | -| `address3` | *?string* | :heavy_minus_sign: | N/A | Unit 123 | -| `city` | *string* | :heavy_check_mark: | N/A | Des Moines | -| `postalCode` | *?string* | :heavy_minus_sign: | N/A | 50309 | -| `country` | *string* | :heavy_check_mark: | N/A | USA | -| `stateProvinceRegion` | *string* | :heavy_check_mark: | N/A | IA | \ No newline at end of file diff --git a/docs/Models/Components/RetryVerifiedBusinessWithInternationalControllerController.md b/docs/Models/Components/RetryVerifiedBusinessWithInternationalControllerController.md deleted file mode 100644 index b148a03..0000000 --- a/docs/Models/Components/RetryVerifiedBusinessWithInternationalControllerController.md +++ /dev/null @@ -1,13 +0,0 @@ -# RetryVerifiedBusinessWithInternationalControllerController - - -## Fields - -| Field | Type | Required | Description | Example | -| ---------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `firstName` | *string* | :heavy_check_mark: | N/A | John | -| `lastName` | *string* | :heavy_check_mark: | N/A | Controller | -| `title` | *string* | :heavy_check_mark: | N/A | CEO | -| `dateOfBirth` | *string* | :heavy_check_mark: | N/A | 1980-01-31 | -| `address` | [Components\RetryVerifiedBusinessWithInternationalControllerAddress](../../Models/Components/RetryVerifiedBusinessWithInternationalControllerAddress.md) | :heavy_check_mark: | N/A | | -| `passport` | [Components\RetryVerifiedBusinessWithInternationalControllerPassport](../../Models/Components/RetryVerifiedBusinessWithInternationalControllerPassport.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/RetryVerifiedBusinessWithInternationalControllerPassport.md b/docs/Models/Components/RetryVerifiedBusinessWithInternationalControllerPassport.md deleted file mode 100644 index 0398182..0000000 --- a/docs/Models/Components/RetryVerifiedBusinessWithInternationalControllerPassport.md +++ /dev/null @@ -1,9 +0,0 @@ -# RetryVerifiedBusinessWithInternationalControllerPassport - - -## Fields - -| Field | Type | Required | Description | -| ------------------ | ------------------ | ------------------ | ------------------ | -| `number` | *string* | :heavy_check_mark: | N/A | -| `country` | *string* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/Models/Components/RetryVerifiedPersonal.md b/docs/Models/Components/RetryVerifiedPersonal.md deleted file mode 100644 index 18b2546..0000000 --- a/docs/Models/Components/RetryVerifiedPersonal.md +++ /dev/null @@ -1,20 +0,0 @@ -# RetryVerifiedPersonal - -Retry Verification for Verified Personal Customer - - -## Fields - -| Field | Type | Required | Description | Example | -| ------------------ | ------------------ | ------------------ | ------------------ | ------------------ | -| `firstName` | *string* | :heavy_check_mark: | N/A | John | -| `lastName` | *string* | :heavy_check_mark: | N/A | Doe | -| `email` | *string* | :heavy_check_mark: | N/A | johndoe@email.net | -| `ipAddress` | *?string* | :heavy_minus_sign: | N/A | 10.10.10.10 | -| `type` | *string* | :heavy_check_mark: | N/A | personal | -| `address1` | *string* | :heavy_check_mark: | N/A | 99-99 33rd St | -| `city` | *string* | :heavy_check_mark: | N/A | Some City | -| `state` | *string* | :heavy_check_mark: | N/A | NY | -| `postalCode` | *string* | :heavy_check_mark: | N/A | 11101 | -| `dateOfBirth` | *string* | :heavy_check_mark: | N/A | 1970-01-01 | -| `ssn` | *string* | :heavy_check_mark: | N/A | 1234 | \ No newline at end of file diff --git a/docs/Models/Components/RetryVerifiedSoleProp.md b/docs/Models/Components/RetryVerifiedSoleProp.md deleted file mode 100644 index 52288b9..0000000 --- a/docs/Models/Components/RetryVerifiedSoleProp.md +++ /dev/null @@ -1,24 +0,0 @@ -# RetryVerifiedSoleProp - -Retry Verification for Verified Business Customer (Sole Proprietorship) - - -## Fields - -| Field | Type | Required | Description | Example | -| ------------------------------------ | ------------------------------------ | ------------------------------------ | ------------------------------------ | ------------------------------------ | -| `firstName` | *string* | :heavy_check_mark: | N/A | Business | -| `lastName` | *string* | :heavy_check_mark: | N/A | Owner | -| `email` | *string* | :heavy_check_mark: | N/A | solePropBusiness@email.com | -| `ipAddress` | *?string* | :heavy_minus_sign: | N/A | 143.156.7.8 | -| `type` | *string* | :heavy_check_mark: | N/A | business | -| `dateOfBirth` | *string* | :heavy_check_mark: | N/A | 1980-01-31 | -| `ssn` | *string* | :heavy_check_mark: | N/A | 6789 | -| `address1` | *string* | :heavy_check_mark: | N/A | 99-99 33rd St | -| `city` | *string* | :heavy_check_mark: | N/A | Some City | -| `state` | *string* | :heavy_check_mark: | N/A | NY | -| `postalCode` | *string* | :heavy_check_mark: | N/A | 11101 | -| `businessClassification` | *string* | :heavy_check_mark: | N/A | 9ed3f670-7d6f-11e3-b1ce-5404a6144203 | -| `businessType` | *string* | :heavy_check_mark: | N/A | soleProprietorship | -| `businessName` | *string* | :heavy_check_mark: | N/A | Jane Corp | -| `ein` | *string* | :heavy_check_mark: | N/A | 00-0000000 | \ No newline at end of file diff --git a/docs/Models/Components/SuspendCustomer.md b/docs/Models/Components/SuspendCustomer.md deleted file mode 100644 index 2c43bcf..0000000 --- a/docs/Models/Components/SuspendCustomer.md +++ /dev/null @@ -1,10 +0,0 @@ -# SuspendCustomer - -Suspend a Customer - - -## Fields - -| Field | Type | Required | Description | Example | -| ------------------ | ------------------ | ------------------ | ------------------ | ------------------ | -| `status` | *string* | :heavy_check_mark: | N/A | suspended | \ No newline at end of file diff --git a/docs/Models/Components/UpdateUnverifiedAndReceiveOnly.md b/docs/Models/Components/UpdateUnverifiedAndReceiveOnly.md deleted file mode 100644 index 69412ec..0000000 --- a/docs/Models/Components/UpdateUnverifiedAndReceiveOnly.md +++ /dev/null @@ -1,13 +0,0 @@ -# UpdateUnverifiedAndReceiveOnly - -Update Unverified Customer or Receive Only User Information - - -## Fields - -| Field | Type | Required | Description | Example | -| ---------------------- | ---------------------- | ---------------------- | ---------------------- | ---------------------- | -| `firstName` | *?string* | :heavy_minus_sign: | N/A | John | -| `lastName` | *?string* | :heavy_minus_sign: | N/A | Doe | -| `email` | *?string* | :heavy_minus_sign: | N/A | accountAdmin@email.com | -| `businessName` | *?string* | :heavy_minus_sign: | N/A | Jane Corp | \ No newline at end of file diff --git a/docs/Models/Components/UpdateVerifiedBusiness.md b/docs/Models/Components/UpdateVerifiedBusiness.md deleted file mode 100644 index bc546d5..0000000 --- a/docs/Models/Components/UpdateVerifiedBusiness.md +++ /dev/null @@ -1,19 +0,0 @@ -# UpdateVerifiedBusiness - -Update Verified Business Customer Information (both Sole Proprietorship and Non-Sole Proprietorship) - - -## Fields - -| Field | Type | Required | Description | Example | -| ---------------------- | ---------------------- | ---------------------- | ---------------------- | ---------------------- | -| `email` | *?string* | :heavy_minus_sign: | N/A | accountAdmin@email.com | -| `ipAddress` | *?string* | :heavy_minus_sign: | N/A | 143.156.7.8 | -| `address1` | *?string* | :heavy_minus_sign: | N/A | 123 Main Street | -| `address2` | *?string* | :heavy_minus_sign: | N/A | XYZ Suite | -| `city` | *?string* | :heavy_minus_sign: | N/A | Des Moines | -| `state` | *?string* | :heavy_minus_sign: | N/A | IA | -| `postalCode` | *?string* | :heavy_minus_sign: | N/A | 50309 | -| `phone` | *?string* | :heavy_minus_sign: | N/A | 5555555555 | -| `doingBusinessAs` | *?string* | :heavy_minus_sign: | N/A | Jane's Electronics | -| `website` | *?string* | :heavy_minus_sign: | N/A | https://www.domain.com | \ No newline at end of file diff --git a/docs/Models/Components/UpdateVerifiedPersonal.md b/docs/Models/Components/UpdateVerifiedPersonal.md deleted file mode 100644 index 4df9ee1..0000000 --- a/docs/Models/Components/UpdateVerifiedPersonal.md +++ /dev/null @@ -1,17 +0,0 @@ -# UpdateVerifiedPersonal - -Update Verified Personal Customer Information - - -## Fields - -| Field | Type | Required | Description | Example | -| ---------------------- | ---------------------- | ---------------------- | ---------------------- | ---------------------- | -| `email` | *?string* | :heavy_minus_sign: | N/A | accountAdmin@email.com | -| `ipAddress` | *?string* | :heavy_minus_sign: | N/A | 143.156.7.8 | -| `address1` | *?string* | :heavy_minus_sign: | N/A | 123 Main Street | -| `address2` | *?string* | :heavy_minus_sign: | N/A | XYZ Suite | -| `city` | *?string* | :heavy_minus_sign: | N/A | Des Moines | -| `state` | *?string* | :heavy_minus_sign: | N/A | IA | -| `postalCode` | *?string* | :heavy_minus_sign: | N/A | 50309 | -| `phone` | *?string* | :heavy_minus_sign: | N/A | 5555555555 | \ No newline at end of file diff --git a/docs/Models/Components/UpgradeToUnverified.md b/docs/Models/Components/UpgradeToUnverified.md deleted file mode 100644 index 7922ab5..0000000 --- a/docs/Models/Components/UpgradeToUnverified.md +++ /dev/null @@ -1,10 +0,0 @@ -# UpgradeToUnverified - -Upgrade Receive Only User to Unverified Customer - - -## Fields - -| Field | Type | Required | Description | Example | -| ------------------ | ------------------ | ------------------ | ------------------ | ------------------ | -| `type` | *string* | :heavy_check_mark: | N/A | unverified | \ No newline at end of file diff --git a/docs/Models/Components/UpgradeToVerifiedBusiness.md b/docs/Models/Components/UpgradeToVerifiedBusiness.md deleted file mode 100644 index c530264..0000000 --- a/docs/Models/Components/UpgradeToVerifiedBusiness.md +++ /dev/null @@ -1,23 +0,0 @@ -# UpgradeToVerifiedBusiness - -Upgrade Unverified Customer to Verified Business Customer - - -## Fields - -| Field | Type | Required | Description | Example | -| ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | -| `firstName` | *string* | :heavy_check_mark: | N/A | Account | -| `lastName` | *string* | :heavy_check_mark: | N/A | Admin | -| `email` | *string* | :heavy_check_mark: | N/A | accountAdmin@email.com | -| `ipAddress` | *?string* | :heavy_minus_sign: | N/A | 143.156.7.8 | -| `type` | *string* | :heavy_check_mark: | N/A | business | -| `address1` | *string* | :heavy_check_mark: | N/A | 99-99 33rd St | -| `city` | *string* | :heavy_check_mark: | N/A | Some City | -| `state` | *string* | :heavy_check_mark: | N/A | NY | -| `postalCode` | *string* | :heavy_check_mark: | N/A | 11101 | -| `controller` | [Components\UpgradeToVerifiedBusinessController](../../Models/Components/UpgradeToVerifiedBusinessController.md) | :heavy_check_mark: | N/A | | -| `businessClassification` | *string* | :heavy_check_mark: | N/A | 9ed3f670-7d6f-11e3-b1ce-5404a6144203 | -| `businessType` | *string* | :heavy_check_mark: | N/A | llc | -| `businessName` | *string* | :heavy_check_mark: | N/A | Jane Corp | -| `ein` | *string* | :heavy_check_mark: | N/A | 00-0000000 | \ No newline at end of file diff --git a/docs/Models/Components/UpgradeToVerifiedBusinessAddress.md b/docs/Models/Components/UpgradeToVerifiedBusinessAddress.md deleted file mode 100644 index 25ff794..0000000 --- a/docs/Models/Components/UpgradeToVerifiedBusinessAddress.md +++ /dev/null @@ -1,13 +0,0 @@ -# UpgradeToVerifiedBusinessAddress - - -## Fields - -| Field | Type | Required | Description | Example | -| --------------------- | --------------------- | --------------------- | --------------------- | --------------------- | -| `address1` | *string* | :heavy_check_mark: | N/A | 1749 18th st | -| `address2` | *?string* | :heavy_minus_sign: | N/A | apt 12 | -| `city` | *string* | :heavy_check_mark: | N/A | Des Moines | -| `stateProvinceRegion` | *string* | :heavy_check_mark: | N/A | IA | -| `postalCode` | *string* | :heavy_check_mark: | N/A | 50266 | -| `country` | *string* | :heavy_check_mark: | N/A | US | \ No newline at end of file diff --git a/docs/Models/Components/UpgradeToVerifiedBusinessController.md b/docs/Models/Components/UpgradeToVerifiedBusinessController.md deleted file mode 100644 index 80275e7..0000000 --- a/docs/Models/Components/UpgradeToVerifiedBusinessController.md +++ /dev/null @@ -1,13 +0,0 @@ -# UpgradeToVerifiedBusinessController - - -## Fields - -| Field | Type | Required | Description | Example | -| ---------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- | -| `firstName` | *string* | :heavy_check_mark: | N/A | John | -| `lastName` | *string* | :heavy_check_mark: | N/A | Controller | -| `title` | *string* | :heavy_check_mark: | N/A | CEO | -| `ssn` | *?string* | :heavy_minus_sign: | N/A | 6789 | -| `dateOfBirth` | *string* | :heavy_check_mark: | N/A | 1980-01-31 | -| `address` | [Components\UpgradeToVerifiedBusinessAddress](../../Models/Components/UpgradeToVerifiedBusinessAddress.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/UpgradeToVerifiedPersonal.md b/docs/Models/Components/UpgradeToVerifiedPersonal.md deleted file mode 100644 index 02eec15..0000000 --- a/docs/Models/Components/UpgradeToVerifiedPersonal.md +++ /dev/null @@ -1,20 +0,0 @@ -# UpgradeToVerifiedPersonal - -Upgrade Unverified Customer to Verified Personal Customer - - -## Fields - -| Field | Type | Required | Description | Example | -| ------------------ | ------------------ | ------------------ | ------------------ | ------------------ | -| `firstName` | *string* | :heavy_check_mark: | N/A | John | -| `lastName` | *string* | :heavy_check_mark: | N/A | Doe | -| `email` | *string* | :heavy_check_mark: | N/A | johndoe@email.net | -| `ipAddress` | *?string* | :heavy_minus_sign: | N/A | 10.10.10.10 | -| `type` | *string* | :heavy_check_mark: | N/A | personal | -| `address1` | *string* | :heavy_check_mark: | N/A | 99-99 33rd St | -| `city` | *string* | :heavy_check_mark: | N/A | Some City | -| `state` | *string* | :heavy_check_mark: | N/A | NY | -| `postalCode` | *string* | :heavy_check_mark: | N/A | 11101 | -| `dateOfBirth` | *string* | :heavy_check_mark: | N/A | 1970-01-01 | -| `ssn` | *string* | :heavy_check_mark: | N/A | 1234 | \ No newline at end of file diff --git a/docs/Models/Components/UpgradeToVerifiedSoleProp.md b/docs/Models/Components/UpgradeToVerifiedSoleProp.md deleted file mode 100644 index f251804..0000000 --- a/docs/Models/Components/UpgradeToVerifiedSoleProp.md +++ /dev/null @@ -1,24 +0,0 @@ -# UpgradeToVerifiedSoleProp - -Upgrade Unverified Customer to Verified Business Customer (Sole Proprietorship) - - -## Fields - -| Field | Type | Required | Description | Example | -| ------------------------------------ | ------------------------------------ | ------------------------------------ | ------------------------------------ | ------------------------------------ | -| `firstName` | *string* | :heavy_check_mark: | N/A | Business | -| `lastName` | *string* | :heavy_check_mark: | N/A | Owner | -| `email` | *string* | :heavy_check_mark: | N/A | solePropBusiness@email.com | -| `ipAddress` | *?string* | :heavy_minus_sign: | N/A | 143.156.7.8 | -| `type` | *string* | :heavy_check_mark: | N/A | business | -| `dateOfBirth` | *string* | :heavy_check_mark: | N/A | 1980-01-31 | -| `ssn` | *string* | :heavy_check_mark: | N/A | 6789 | -| `address1` | *string* | :heavy_check_mark: | N/A | 99-99 33rd St | -| `city` | *string* | :heavy_check_mark: | N/A | Some City | -| `state` | *string* | :heavy_check_mark: | N/A | NY | -| `postalCode` | *string* | :heavy_check_mark: | N/A | 11101 | -| `businessClassification` | *string* | :heavy_check_mark: | N/A | 9ed3f670-7d6f-11e3-b1ce-5404a6144203 | -| `businessType` | *string* | :heavy_check_mark: | N/A | soleProprietorship | -| `businessName` | *string* | :heavy_check_mark: | N/A | Jane Corp | -| `ein` | *string* | :heavy_check_mark: | N/A | 00-0000000 | \ No newline at end of file diff --git a/docs/Models/Components/VerifiedBusinessCustomerController.md b/docs/Models/Components/VerifiedBusinessCustomerController.md index 577c7b8..4c65847 100644 --- a/docs/Models/Components/VerifiedBusinessCustomerController.md +++ b/docs/Models/Components/VerifiedBusinessCustomerController.md @@ -3,9 +3,9 @@ ## Fields -| Field | Type | Required | Description | Example | -| -------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- | -| `firstName` | *string* | :heavy_check_mark: | N/A | John | -| `lastName` | *string* | :heavy_check_mark: | N/A | Controller | -| `title` | *string* | :heavy_check_mark: | N/A | CEO | -| `address` | [Components\VerifiedBusinessCustomerAddress](../../Models/Components/VerifiedBusinessCustomerAddress.md) | :heavy_check_mark: | N/A | | \ No newline at end of file +| Field | Type | Required | Description | Example | +| -------------------------------------------------------- | -------------------------------------------------------- | -------------------------------------------------------- | -------------------------------------------------------- | -------------------------------------------------------- | +| `firstName` | *string* | :heavy_check_mark: | N/A | John | +| `lastName` | *string* | :heavy_check_mark: | N/A | Controller | +| `title` | *string* | :heavy_check_mark: | N/A | CEO | +| `address` | [Components\Address](../../Models/Components/Address.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Errors/InitiateOrVerifyMicroDepositsForbiddenDwollaV1HalJSONException.md b/docs/Models/Errors/InitiateMicroDepositsForbiddenDwollaV1HalJSONException.md similarity index 96% rename from docs/Models/Errors/InitiateOrVerifyMicroDepositsForbiddenDwollaV1HalJSONException.md rename to docs/Models/Errors/InitiateMicroDepositsForbiddenDwollaV1HalJSONException.md index 5d8d506..aace98c 100644 --- a/docs/Models/Errors/InitiateOrVerifyMicroDepositsForbiddenDwollaV1HalJSONException.md +++ b/docs/Models/Errors/InitiateMicroDepositsForbiddenDwollaV1HalJSONException.md @@ -1,6 +1,6 @@ -# InitiateOrVerifyMicroDepositsForbiddenDwollaV1HalJSONException +# InitiateMicroDepositsForbiddenDwollaV1HalJSONException -forbidden +Forbidden - funding source not eligible for micro-deposits ## Fields diff --git a/docs/Models/Errors/InitiateMicroDepositsNotFoundDwollaV1HalJSONException.md b/docs/Models/Errors/InitiateMicroDepositsNotFoundDwollaV1HalJSONException.md new file mode 100644 index 0000000..62bdef2 --- /dev/null +++ b/docs/Models/Errors/InitiateMicroDepositsNotFoundDwollaV1HalJSONException.md @@ -0,0 +1,12 @@ +# InitiateMicroDepositsNotFoundDwollaV1HalJSONException + +Funding source not found + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | +| `code` | *?string* | :heavy_minus_sign: | N/A | NotFound | +| `message` | *?string* | :heavy_minus_sign: | N/A | The requested resource was not found. | +| `rawResponse` | [\Psr\Http\Message\ResponseInterface](https://www.php-fig.org/psr/psr-7/#33-psrhttpmessageresponseinterface) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing | | \ No newline at end of file diff --git a/docs/Models/Errors/VerifyMicroDepositsBadRequestDwollaV1HalJSONException.md b/docs/Models/Errors/VerifyMicroDepositsBadRequestDwollaV1HalJSONException.md new file mode 100644 index 0000000..183f833 --- /dev/null +++ b/docs/Models/Errors/VerifyMicroDepositsBadRequestDwollaV1HalJSONException.md @@ -0,0 +1,13 @@ +# VerifyMicroDepositsBadRequestDwollaV1HalJSONException + +Bad Request - invalid deposit amounts + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | +| `code` | *?string* | :heavy_minus_sign: | N/A | ValidationError | +| `message` | *?string* | :heavy_minus_sign: | N/A | Validation error(s) present. See embedded errors list for more details. | +| `embedded` | [?Operations\VerifyMicroDepositsEmbedded](../../Models/Operations/VerifyMicroDepositsEmbedded.md) | :heavy_minus_sign: | N/A | | +| `rawResponse` | [\Psr\Http\Message\ResponseInterface](https://www.php-fig.org/psr/psr-7/#33-psrhttpmessageresponseinterface) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing | | \ No newline at end of file diff --git a/docs/Models/Errors/VerifyMicroDepositsForbiddenDwollaV1HalJSONException.md b/docs/Models/Errors/VerifyMicroDepositsForbiddenDwollaV1HalJSONException.md new file mode 100644 index 0000000..c486692 --- /dev/null +++ b/docs/Models/Errors/VerifyMicroDepositsForbiddenDwollaV1HalJSONException.md @@ -0,0 +1,12 @@ +# VerifyMicroDepositsForbiddenDwollaV1HalJSONException + +Forbidden - verification not allowed in current state + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | +| `code` | *?string* | :heavy_minus_sign: | N/A | InvalidResourceState | +| `message` | *?string* | :heavy_minus_sign: | N/A | Too many attempts. | +| `rawResponse` | [\Psr\Http\Message\ResponseInterface](https://www.php-fig.org/psr/psr-7/#33-psrhttpmessageresponseinterface) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing | | \ No newline at end of file diff --git a/docs/Models/Errors/InitiateOrVerifyMicroDepositsNotFoundDwollaV1HalJSONException.md b/docs/Models/Errors/VerifyMicroDepositsNotFoundDwollaV1HalJSONException.md similarity index 97% rename from docs/Models/Errors/InitiateOrVerifyMicroDepositsNotFoundDwollaV1HalJSONException.md rename to docs/Models/Errors/VerifyMicroDepositsNotFoundDwollaV1HalJSONException.md index 3b2d6b6..51f3175 100644 --- a/docs/Models/Errors/InitiateOrVerifyMicroDepositsNotFoundDwollaV1HalJSONException.md +++ b/docs/Models/Errors/VerifyMicroDepositsNotFoundDwollaV1HalJSONException.md @@ -1,6 +1,6 @@ -# InitiateOrVerifyMicroDepositsNotFoundDwollaV1HalJSONException +# VerifyMicroDepositsNotFoundDwollaV1HalJSONException -not found +Funding source not found ## Fields diff --git a/docs/Models/Components/Amount1.md b/docs/Models/Operations/Amount1.md similarity index 100% rename from docs/Models/Components/Amount1.md rename to docs/Models/Operations/Amount1.md diff --git a/docs/Models/Components/Amount2.md b/docs/Models/Operations/Amount2.md similarity index 100% rename from docs/Models/Components/Amount2.md rename to docs/Models/Operations/Amount2.md diff --git a/docs/Models/Operations/InitiateMicroDeposits.md b/docs/Models/Operations/BadRequestLinks.md similarity index 60% rename from docs/Models/Operations/InitiateMicroDeposits.md rename to docs/Models/Operations/BadRequestLinks.md index 791d380..63adbe0 100644 --- a/docs/Models/Operations/InitiateMicroDeposits.md +++ b/docs/Models/Operations/BadRequestLinks.md @@ -1,6 +1,4 @@ -# InitiateMicroDeposits - -No request body is required for initiating micro-deposits. +# BadRequestLinks ## Fields diff --git a/docs/Models/Operations/Error.md b/docs/Models/Operations/Error.md new file mode 100644 index 0000000..c7b12e7 --- /dev/null +++ b/docs/Models/Operations/Error.md @@ -0,0 +1,11 @@ +# Error + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------- | ------------------------------------------------------------------------- | ------------------------------------------------------------------------- | ------------------------------------------------------------------------- | ------------------------------------------------------------------------- | +| `code` | *?string* | :heavy_minus_sign: | N/A | Invalid | +| `message` | *?string* | :heavy_minus_sign: | N/A | Wrong amount(s). | +| `path` | *?string* | :heavy_minus_sign: | N/A | | +| `links` | [?Operations\BadRequestLinks](../../Models/Operations/BadRequestLinks.md) | :heavy_minus_sign: | N/A | | \ No newline at end of file diff --git a/docs/Models/Operations/InitiateMicroDepositsRequest.md b/docs/Models/Operations/InitiateMicroDepositsRequest.md new file mode 100644 index 0000000..fb9f876 --- /dev/null +++ b/docs/Models/Operations/InitiateMicroDepositsRequest.md @@ -0,0 +1,8 @@ +# InitiateMicroDepositsRequest + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | +| `id` | *string* | :heavy_check_mark: | The ID of the funding source to initiate micro-deposits for | \ No newline at end of file diff --git a/docs/Models/Operations/InitiateMicroDepositsResponse.md b/docs/Models/Operations/InitiateMicroDepositsResponse.md new file mode 100644 index 0000000..0507ea8 --- /dev/null +++ b/docs/Models/Operations/InitiateMicroDepositsResponse.md @@ -0,0 +1,11 @@ +# InitiateMicroDepositsResponse + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | +| `contentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation | +| `statusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | +| `rawResponse` | [\Psr\Http\Message\ResponseInterface](https://www.php-fig.org/psr/psr-7/#33-psrhttpmessageresponseinterface) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | +| `headers` | array> | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/Models/Operations/InitiateOrVerifyMicroDepositsLinks.md b/docs/Models/Operations/InitiateOrVerifyMicroDepositsLinks.md deleted file mode 100644 index b954eec..0000000 --- a/docs/Models/Operations/InitiateOrVerifyMicroDepositsLinks.md +++ /dev/null @@ -1,8 +0,0 @@ -# InitiateOrVerifyMicroDepositsLinks - - -## Fields - -| Field | Type | Required | Description | -| ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | -| `self` | [?Operations\InitiateOrVerifyMicroDepositsSelf](../../Models/Operations/InitiateOrVerifyMicroDepositsSelf.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/Models/Operations/InitiateOrVerifyMicroDepositsRequest.md b/docs/Models/Operations/InitiateOrVerifyMicroDepositsRequest.md deleted file mode 100644 index 9bd47b2..0000000 --- a/docs/Models/Operations/InitiateOrVerifyMicroDepositsRequest.md +++ /dev/null @@ -1,9 +0,0 @@ -# InitiateOrVerifyMicroDepositsRequest - - -## Fields - -| Field | Type | Required | Description | -| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `id` | *string* | :heavy_check_mark: | The ID of the FS to initiate or verify micro-deposit | -| `body` | [Operations\InitiateMicroDeposits\|Components\VerifyMicroDeposits\|null](../../Models/Operations/InitiateOrVerifyMicroDepositsRequestBody.md) | :heavy_minus_sign: | Optional request body for verifying micro-deposits.
- If omitted: Endpoint will initiate micro-deposits
- If provided: Must contain micro-deposit amounts for verification
| \ No newline at end of file diff --git a/docs/Models/Operations/InitiateOrVerifyMicroDepositsRequestBody.md b/docs/Models/Operations/InitiateOrVerifyMicroDepositsRequestBody.md deleted file mode 100644 index b5c8252..0000000 --- a/docs/Models/Operations/InitiateOrVerifyMicroDepositsRequestBody.md +++ /dev/null @@ -1,28 +0,0 @@ -# InitiateOrVerifyMicroDepositsRequestBody - -Optional request body for verifying micro-deposits. -- If omitted: Endpoint will initiate micro-deposits -- If provided: Must contain micro-deposit amounts for verification - - - -## Supported Types - -### `Operations\InitiateMicroDeposits` - -```php -/** -* @var Operations\InitiateMicroDeposits -*/ -Operations\InitiateMicroDeposits $value = /* values here */ -``` - -### `Components\VerifyMicroDeposits` - -```php -/** -* @var Components\VerifyMicroDeposits -*/ -Components\VerifyMicroDeposits $value = /* values here */ -``` - diff --git a/docs/Models/Operations/InitiateOrVerifyMicroDepositsResponse.md b/docs/Models/Operations/InitiateOrVerifyMicroDepositsResponse.md deleted file mode 100644 index 3709bae..0000000 --- a/docs/Models/Operations/InitiateOrVerifyMicroDepositsResponse.md +++ /dev/null @@ -1,12 +0,0 @@ -# InitiateOrVerifyMicroDepositsResponse - - -## Fields - -| Field | Type | Required | Description | -| ----------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------- | -| `contentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation | -| `statusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | -| `rawResponse` | [\Psr\Http\Message\ResponseInterface](https://www.php-fig.org/psr/psr-7/#33-psrhttpmessageresponseinterface) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | -| `object` | [?Operations\InitiateOrVerifyMicroDepositsResponseBody](../../Models/Operations/InitiateOrVerifyMicroDepositsResponseBody.md) | :heavy_minus_sign: | successful operation | -| `headers` | array> | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/Models/Operations/InitiateOrVerifyMicroDepositsResponseBody.md b/docs/Models/Operations/InitiateOrVerifyMicroDepositsResponseBody.md deleted file mode 100644 index 378b839..0000000 --- a/docs/Models/Operations/InitiateOrVerifyMicroDepositsResponseBody.md +++ /dev/null @@ -1,10 +0,0 @@ -# InitiateOrVerifyMicroDepositsResponseBody - -Response for microdeposits operations (initiation and verification) - - -## Fields - -| Field | Type | Required | Description | -| --------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- | -| `links` | [?Operations\InitiateOrVerifyMicroDepositsLinks](../../Models/Operations/InitiateOrVerifyMicroDepositsLinks.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/Models/Operations/UpdateRequest.md b/docs/Models/Operations/UpdateRequest.md index 1f4395f..ed6b223 100644 --- a/docs/Models/Operations/UpdateRequest.md +++ b/docs/Models/Operations/UpdateRequest.md @@ -3,7 +3,7 @@ ## Fields -| Field | Type | Required | Description | -| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `id` | *string* | :heavy_check_mark: | Customer unique identifier | -| `body` | [Components\DeactivateCustomer\|Components\ReactivateCustomer\|Components\SuspendCustomer\|Components\UpdateUnverifiedAndReceiveOnly\|Components\UpdateVerifiedPersonal\|Components\UpdateVerifiedBusiness\|Components\UpgradeToUnverified\|Components\UpgradeToVerifiedPersonal\|Components\UpgradeToVerifiedBusiness\|Components\UpgradeToVerifiedSoleProp\|Components\RetryVerifiedPersonal\|Components\RetryVerifiedBusinessNoController\|Components\RetryVerifiedBusinessWithController\|Components\RetryVerifiedBusinessWithInternationalController\|Components\RetryVerifiedSoleProp](../../Models/Operations/UpdateRequestBody.md) | :heavy_check_mark: | Parameters for updating a Customer | \ No newline at end of file +| Field | Type | Required | Description | +| ---------------------------------- | ---------------------------------- | ---------------------------------- | ---------------------------------- | +| `id` | *string* | :heavy_check_mark: | Customer unique identifier | +| `body` | *mixed* | :heavy_check_mark: | Parameters for updating a Customer | \ No newline at end of file diff --git a/docs/Models/Operations/UpdateRequestBody.md b/docs/Models/Operations/UpdateRequestBody.md deleted file mode 100644 index c115a09..0000000 --- a/docs/Models/Operations/UpdateRequestBody.md +++ /dev/null @@ -1,142 +0,0 @@ -# UpdateRequestBody - -Parameters for updating a Customer - - -## Supported Types - -### `Components\DeactivateCustomer` - -```php -/** -* @var Components\DeactivateCustomer -*/ -Components\DeactivateCustomer $value = /* values here */ -``` - -### `Components\ReactivateCustomer` - -```php -/** -* @var Components\ReactivateCustomer -*/ -Components\ReactivateCustomer $value = /* values here */ -``` - -### `Components\SuspendCustomer` - -```php -/** -* @var Components\SuspendCustomer -*/ -Components\SuspendCustomer $value = /* values here */ -``` - -### `Components\UpdateUnverifiedAndReceiveOnly` - -```php -/** -* @var Components\UpdateUnverifiedAndReceiveOnly -*/ -Components\UpdateUnverifiedAndReceiveOnly $value = /* values here */ -``` - -### `Components\UpdateVerifiedPersonal` - -```php -/** -* @var Components\UpdateVerifiedPersonal -*/ -Components\UpdateVerifiedPersonal $value = /* values here */ -``` - -### `Components\UpdateVerifiedBusiness` - -```php -/** -* @var Components\UpdateVerifiedBusiness -*/ -Components\UpdateVerifiedBusiness $value = /* values here */ -``` - -### `Components\UpgradeToUnverified` - -```php -/** -* @var Components\UpgradeToUnverified -*/ -Components\UpgradeToUnverified $value = /* values here */ -``` - -### `Components\UpgradeToVerifiedPersonal` - -```php -/** -* @var Components\UpgradeToVerifiedPersonal -*/ -Components\UpgradeToVerifiedPersonal $value = /* values here */ -``` - -### `Components\UpgradeToVerifiedBusiness` - -```php -/** -* @var Components\UpgradeToVerifiedBusiness -*/ -Components\UpgradeToVerifiedBusiness $value = /* values here */ -``` - -### `Components\UpgradeToVerifiedSoleProp` - -```php -/** -* @var Components\UpgradeToVerifiedSoleProp -*/ -Components\UpgradeToVerifiedSoleProp $value = /* values here */ -``` - -### `Components\RetryVerifiedPersonal` - -```php -/** -* @var Components\RetryVerifiedPersonal -*/ -Components\RetryVerifiedPersonal $value = /* values here */ -``` - -### `Components\RetryVerifiedBusinessNoController` - -```php -/** -* @var Components\RetryVerifiedBusinessNoController -*/ -Components\RetryVerifiedBusinessNoController $value = /* values here */ -``` - -### `Components\RetryVerifiedBusinessWithController` - -```php -/** -* @var Components\RetryVerifiedBusinessWithController -*/ -Components\RetryVerifiedBusinessWithController $value = /* values here */ -``` - -### `Components\RetryVerifiedBusinessWithInternationalController` - -```php -/** -* @var Components\RetryVerifiedBusinessWithInternationalController -*/ -Components\RetryVerifiedBusinessWithInternationalController $value = /* values here */ -``` - -### `Components\RetryVerifiedSoleProp` - -```php -/** -* @var Components\RetryVerifiedSoleProp -*/ -Components\RetryVerifiedSoleProp $value = /* values here */ -``` - diff --git a/docs/Models/Operations/VerifyMicroDepositsEmbedded.md b/docs/Models/Operations/VerifyMicroDepositsEmbedded.md new file mode 100644 index 0000000..35b613c --- /dev/null +++ b/docs/Models/Operations/VerifyMicroDepositsEmbedded.md @@ -0,0 +1,8 @@ +# VerifyMicroDepositsEmbedded + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | +| `errors` | array<[Operations\Error](../../Models/Operations/Error.md)> | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/Models/Operations/VerifyMicroDepositsLinks.md b/docs/Models/Operations/VerifyMicroDepositsLinks.md new file mode 100644 index 0000000..8eff58d --- /dev/null +++ b/docs/Models/Operations/VerifyMicroDepositsLinks.md @@ -0,0 +1,8 @@ +# VerifyMicroDepositsLinks + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | +| `self` | [?Operations\VerifyMicroDepositsSelf](../../Models/Operations/VerifyMicroDepositsSelf.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/Models/Operations/VerifyMicroDepositsRequest.md b/docs/Models/Operations/VerifyMicroDepositsRequest.md new file mode 100644 index 0000000..dbafbf4 --- /dev/null +++ b/docs/Models/Operations/VerifyMicroDepositsRequest.md @@ -0,0 +1,9 @@ +# VerifyMicroDepositsRequest + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------ | +| `id` | *string* | :heavy_check_mark: | The ID of the funding source to verify micro-deposits for | +| `body` | [Operations\VerifyMicroDepositsRequestBody](../../Models/Operations/VerifyMicroDepositsRequestBody.md) | :heavy_check_mark: | The micro-deposit amounts received in the bank account | \ No newline at end of file diff --git a/docs/Models/Components/VerifyMicroDeposits.md b/docs/Models/Operations/VerifyMicroDepositsRequestBody.md similarity index 67% rename from docs/Models/Components/VerifyMicroDeposits.md rename to docs/Models/Operations/VerifyMicroDepositsRequestBody.md index 1135ccf..3630937 100644 --- a/docs/Models/Components/VerifyMicroDeposits.md +++ b/docs/Models/Operations/VerifyMicroDepositsRequestBody.md @@ -1,11 +1,11 @@ -# VerifyMicroDeposits +# VerifyMicroDepositsRequestBody -Request body for verifying micro-deposits +The micro-deposit amounts received in the bank account ## Fields | Field | Type | Required | Description | | -------------------------------------------------------- | -------------------------------------------------------- | -------------------------------------------------------- | -------------------------------------------------------- | -| `amount1` | [Components\Amount1](../../Models/Components/Amount1.md) | :heavy_check_mark: | N/A | -| `amount2` | [Components\Amount2](../../Models/Components/Amount2.md) | :heavy_check_mark: | N/A | \ No newline at end of file +| `amount1` | [Operations\Amount1](../../Models/Operations/Amount1.md) | :heavy_check_mark: | N/A | +| `amount2` | [Operations\Amount2](../../Models/Operations/Amount2.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/Models/Operations/VerifyMicroDepositsResponse.md b/docs/Models/Operations/VerifyMicroDepositsResponse.md new file mode 100644 index 0000000..793451e --- /dev/null +++ b/docs/Models/Operations/VerifyMicroDepositsResponse.md @@ -0,0 +1,11 @@ +# VerifyMicroDepositsResponse + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | +| `contentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation | +| `statusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | +| `rawResponse` | [\Psr\Http\Message\ResponseInterface](https://www.php-fig.org/psr/psr-7/#33-psrhttpmessageresponseinterface) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | +| `object` | [?Operations\VerifyMicroDepositsResponseBody](../../Models/Operations/VerifyMicroDepositsResponseBody.md) | :heavy_minus_sign: | Micro-deposits verified successfully | \ No newline at end of file diff --git a/docs/Models/Operations/VerifyMicroDepositsResponseBody.md b/docs/Models/Operations/VerifyMicroDepositsResponseBody.md new file mode 100644 index 0000000..2a8eeda --- /dev/null +++ b/docs/Models/Operations/VerifyMicroDepositsResponseBody.md @@ -0,0 +1,10 @@ +# VerifyMicroDepositsResponseBody + +Micro-deposits verified successfully + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | +| `links` | [?Operations\VerifyMicroDepositsLinks](../../Models/Operations/VerifyMicroDepositsLinks.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/Models/Operations/InitiateOrVerifyMicroDepositsSelf.md b/docs/Models/Operations/VerifyMicroDepositsSelf.md similarity index 98% rename from docs/Models/Operations/InitiateOrVerifyMicroDepositsSelf.md rename to docs/Models/Operations/VerifyMicroDepositsSelf.md index 28f503a..a890be9 100644 --- a/docs/Models/Operations/InitiateOrVerifyMicroDepositsSelf.md +++ b/docs/Models/Operations/VerifyMicroDepositsSelf.md @@ -1,4 +1,4 @@ -# InitiateOrVerifyMicroDepositsSelf +# VerifyMicroDepositsSelf ## Fields diff --git a/docs/sdks/customers/README.md b/docs/sdks/customers/README.md index 7389264..19216a8 100644 --- a/docs/sdks/customers/README.md +++ b/docs/sdks/customers/README.md @@ -210,36 +210,36 @@ $sdk = Dwolla\Dwolla::builder() $response = $sdk->customers->update( id: '', - body: new Components\UpgradeToVerifiedBusiness( - firstName: 'Account', - lastName: 'Admin', - email: 'accountAdmin@email.com', - ipAddress: '143.156.7.8', - type: 'business', - address1: '99-99 33rd St', - city: 'Some City', - state: 'NY', - postalCode: '11101', - controller: new Components\UpgradeToVerifiedBusinessController( - firstName: 'John', - lastName: 'Controller', - title: 'CEO', - ssn: '6789', - dateOfBirth: '1980-01-31', - address: new Components\UpgradeToVerifiedBusinessAddress( - address1: '1749 18th st', - address2: 'apt 12', - city: 'Des Moines', - stateProvinceRegion: 'IA', - postalCode: '50266', - country: 'US', - ), - ), - businessClassification: '9ed3f670-7d6f-11e3-b1ce-5404a6144203', - businessType: 'llc', - businessName: 'Jane Corp', - ein: '00-0000000', - ) + body: [ + 'firstName' => 'Account', + 'lastName' => 'Admin', + 'email' => 'accountAdmin@email.com', + 'ipAddress' => '143.156.7.8', + 'type' => 'business', + 'address1' => '99-99 33rd St', + 'city' => 'Some City', + 'state' => 'NY', + 'postalCode' => '11101', + 'controller' => [ + 'firstName' => 'John', + 'lastName' => 'Controller', + 'title' => 'CEO', + 'ssn' => '6789', + 'dateOfBirth' => '1980-01-31', + 'address' => [ + 'address1' => '1749 18th st', + 'address2' => 'apt 12', + 'city' => 'Des Moines', + 'stateProvinceRegion' => 'IA', + 'postalCode' => '50266', + 'country' => 'US', + ], + ], + 'businessClassification' => '9ed3f670-7d6f-11e3-b1ce-5404a6144203', + 'businessType' => 'llc', + 'businessName' => 'Jane Corp', + 'ein' => '00-0000000', + ] ); @@ -250,10 +250,10 @@ if ($response->oneOf !== null) { ### Parameters -| Parameter | Type | Required | Description | -| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `id` | *string* | :heavy_check_mark: | Customer unique identifier | -| `body` | [Components\DeactivateCustomer\|Components\ReactivateCustomer\|Components\SuspendCustomer\|Components\UpdateUnverifiedAndReceiveOnly\|Components\UpdateVerifiedPersonal\|Components\UpdateVerifiedBusiness\|Components\UpgradeToUnverified\|Components\UpgradeToVerifiedPersonal\|Components\UpgradeToVerifiedBusiness\|Components\UpgradeToVerifiedSoleProp\|Components\RetryVerifiedPersonal\|Components\RetryVerifiedBusinessNoController\|Components\RetryVerifiedBusinessWithController\|Components\RetryVerifiedBusinessWithInternationalController\|Components\RetryVerifiedSoleProp](../../Models/Operations/UpdateRequestBody.md) | :heavy_check_mark: | Parameters for updating a Customer | +| Parameter | Type | Required | Description | +| ---------------------------------- | ---------------------------------- | ---------------------------------- | ---------------------------------- | +| `id` | *string* | :heavy_check_mark: | Customer unique identifier | +| `body` | *mixed* | :heavy_check_mark: | Parameters for updating a Customer | ### Response diff --git a/docs/sdks/microdeposits/README.md b/docs/sdks/microdeposits/README.md index a550eb7..26edf93 100644 --- a/docs/sdks/microdeposits/README.md +++ b/docs/sdks/microdeposits/README.md @@ -4,10 +4,11 @@ ### Available Operations -* [getMicroDeposits](#getmicrodeposits) - Retrieve micro-deposits details -* [initiateOrVerify](#initiateorverify) - Initiate or Verify micro-deposits +* [get](#get) - Retrieve micro-deposits details +* [initiate](#initiate) - Initiate micro-deposits +* [verify](#verify) - Verify micro-deposits -## getMicroDeposits +## get Returns the status and details of micro-deposits for a funding source to check verification eligibility. Includes deposit status (pending, processed, failed), creation timestamp, and failure details with ACH return codes if deposits failed. Use this endpoint to determine when micro-deposits are ready for verification. @@ -33,7 +34,7 @@ $sdk = Dwolla\Dwolla::builder() -$response = $sdk->fundingSources->microDeposits->getMicroDeposits( +$response = $sdk->fundingSources->microDeposits->get( id: '' ); @@ -59,13 +60,13 @@ if ($response->object !== null) { | Errors\NotFoundError | 404 | application/vnd.dwolla.v1.hal+json | | Errors\APIException | 4XX, 5XX | \*/\* | -## initiateOrVerify +## initiate -Handles micro-deposit bank verification process. Make a request without a request body to initiate two small deposits to the customer's bank account. Include deposit amounts to verify the received values and complete verification. +Initiates two small deposits to the customer's bank account for verification purposes. No request body is required. ### Example Usage - + ```php declare(strict_types=1); @@ -73,7 +74,6 @@ require 'vendor/autoload.php'; use Dwolla; use Dwolla\Models\Components; -use Dwolla\Models\Operations; $sdk = Dwolla\Dwolla::builder() ->setSecurity( @@ -86,9 +86,72 @@ $sdk = Dwolla\Dwolla::builder() -$response = $sdk->fundingSources->microDeposits->initiateOrVerify( +$response = $sdk->fundingSources->microDeposits->initiate( + id: '' +); + +if ($response->statusCode === 200) { + // handle response +} +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | +| `id` | *string* | :heavy_check_mark: | The ID of the funding source to initiate micro-deposits for | + +### Response + +**[?Operations\InitiateMicroDepositsResponse](../../Models/Operations/InitiateMicroDepositsResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------------------------------------------- | ------------------------------------------------------------- | ------------------------------------------------------------- | +| Errors\InitiateMicroDepositsForbiddenDwollaV1HalJSONException | 403 | application/vnd.dwolla.v1.hal+json | +| Errors\InitiateMicroDepositsNotFoundDwollaV1HalJSONException | 404 | application/vnd.dwolla.v1.hal+json | +| Errors\APIException | 4XX, 5XX | \*/\* | + +## verify + +Verifies the micro-deposit amounts received in the customer's bank account to complete funding source verification. + +### Example Usage + + +```php +declare(strict_types=1); + +require 'vendor/autoload.php'; + +use Dwolla; +use Dwolla\Models\Components; +use Dwolla\Models\Operations; + +$sdk = Dwolla\Dwolla::builder() + ->setSecurity( + new Components\Security( + clientID: '', + clientSecret: '', + ) + ) + ->build(); + +$body = new Operations\VerifyMicroDepositsRequestBody( + amount1: new Operations\Amount1( + value: '0.02', + currency: 'USD', + ), + amount2: new Operations\Amount2( + value: '0.03', + currency: 'USD', + ), +); + +$response = $sdk->fundingSources->microDeposits->verify( id: '', - body: new Operations\InitiateMicroDeposits() + body: $body ); @@ -99,19 +162,20 @@ if ($response->object !== null) { ### Parameters -| Parameter | Type | Required | Description | -| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `id` | *string* | :heavy_check_mark: | The ID of the FS to initiate or verify micro-deposit | -| `body` | [Operations\InitiateMicroDeposits\|Components\VerifyMicroDeposits\|null](../../Models/Operations/InitiateOrVerifyMicroDepositsRequestBody.md) | :heavy_minus_sign: | Optional request body for verifying micro-deposits.
- If omitted: Endpoint will initiate micro-deposits
- If provided: Must contain micro-deposit amounts for verification
| +| Parameter | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------ | +| `id` | *string* | :heavy_check_mark: | The ID of the funding source to verify micro-deposits for | +| `body` | [Operations\VerifyMicroDepositsRequestBody](../../Models/Operations/VerifyMicroDepositsRequestBody.md) | :heavy_check_mark: | The micro-deposit amounts received in the bank account | ### Response -**[?Operations\InitiateOrVerifyMicroDepositsResponse](../../Models/Operations/InitiateOrVerifyMicroDepositsResponse.md)** +**[?Operations\VerifyMicroDepositsResponse](../../Models/Operations/VerifyMicroDepositsResponse.md)** ### Errors -| Error Type | Status Code | Content Type | -| --------------------------------------------------------------------- | --------------------------------------------------------------------- | --------------------------------------------------------------------- | -| Errors\InitiateOrVerifyMicroDepositsForbiddenDwollaV1HalJSONException | 403 | application/vnd.dwolla.v1.hal+json | -| Errors\InitiateOrVerifyMicroDepositsNotFoundDwollaV1HalJSONException | 404 | application/vnd.dwolla.v1.hal+json | -| Errors\APIException | 4XX, 5XX | \*/\* | \ No newline at end of file +| Error Type | Status Code | Content Type | +| ------------------------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------------------------ | +| Errors\VerifyMicroDepositsBadRequestDwollaV1HalJSONException | 400 | application/vnd.dwolla.v1.hal+json | +| Errors\VerifyMicroDepositsForbiddenDwollaV1HalJSONException | 403 | application/vnd.dwolla.v1.hal+json | +| Errors\VerifyMicroDepositsNotFoundDwollaV1HalJSONException | 404 | application/vnd.dwolla.v1.hal+json | +| Errors\APIException | 4XX, 5XX | \*/\* | \ No newline at end of file diff --git a/src/Customers.php b/src/Customers.php index baba4fe..8d49880 100644 --- a/src/Customers.php +++ b/src/Customers.php @@ -422,12 +422,12 @@ public function listAvailableConnections(string $id, ?Options $options = null): * * Update Customer information, upgrade an unverified Customer to a verified Customer, suspend a Customer, deactivate a Customer, reactivate a Customer, and update a verified Customer's information to retry verification. * - * @param Components\DeactivateCustomer|Components\ReactivateCustomer|Components\SuspendCustomer|Components\UpdateUnverifiedAndReceiveOnly|Components\UpdateVerifiedPersonal|Components\UpdateVerifiedBusiness|Components\UpgradeToUnverified|Components\UpgradeToVerifiedPersonal|Components\UpgradeToVerifiedBusiness|Components\UpgradeToVerifiedSoleProp|Components\RetryVerifiedPersonal|Components\RetryVerifiedBusinessNoController|Components\RetryVerifiedBusinessWithController|Components\RetryVerifiedBusinessWithInternationalController|Components\RetryVerifiedSoleProp $body + * @param mixed $body * @param string $id * @return Operations\UpdateResponse * @throws \Dwolla\Models\Errors\APIException */ - public function update(Components\DeactivateCustomer|Components\ReactivateCustomer|Components\SuspendCustomer|Components\UpdateUnverifiedAndReceiveOnly|Components\UpdateVerifiedPersonal|Components\UpdateVerifiedBusiness|Components\UpgradeToUnverified|Components\UpgradeToVerifiedPersonal|Components\UpgradeToVerifiedBusiness|Components\UpgradeToVerifiedSoleProp|Components\RetryVerifiedPersonal|Components\RetryVerifiedBusinessNoController|Components\RetryVerifiedBusinessWithController|Components\RetryVerifiedBusinessWithInternationalController|Components\RetryVerifiedSoleProp $body, string $id, ?Options $options = null): Operations\UpdateResponse + public function update(mixed $body, string $id, ?Options $options = null): Operations\UpdateResponse { $request = new Operations\UpdateRequest( id: $id, diff --git a/src/Dwolla.php b/src/Dwolla.php index c5ada02..59bf4b9 100644 --- a/src/Dwolla.php +++ b/src/Dwolla.php @@ -13,11 +13,17 @@ /** Dwolla - Dwolla API: Dwolla API Documentation */ class Dwolla { + /** SERVER_PROD - Production server */ + public const SERVER_PROD = 'prod'; + + /** SERVER_SANDBOX - Sandbox server */ + public const SERVER_SANDBOX = 'sandbox'; + public const SERVERS = [ /** Production server */ - 'https://api.dwolla.com', + Dwolla::SERVER_PROD => 'https://api.dwolla.com', /** Sandbox server */ - 'https://api-sandbox.dwolla.com', + Dwolla::SERVER_SANDBOX => 'https://api-sandbox.dwolla.com', ]; /** diff --git a/src/DwollaBuilder.php b/src/DwollaBuilder.php index ef032a0..da99187 100644 --- a/src/DwollaBuilder.php +++ b/src/DwollaBuilder.php @@ -77,12 +77,12 @@ public function setServerUrl(string $serverUrl, ?array $params = null): DwollaBu /** * setServer is used to configure the server for the SDK * - * @param int $serverIdx + * @param string $server * @return DwollaBuilder */ - public function setServerIndex(int $serverIdx): DwollaBuilder + public function setServer(string $server): DwollaBuilder { - $this->sdkConfig->serverIndex = $serverIdx; + $this->sdkConfig->server = $server; return $this; } diff --git a/src/MicroDeposits.php b/src/MicroDeposits.php index e473ea5..3c987dd 100644 --- a/src/MicroDeposits.php +++ b/src/MicroDeposits.php @@ -9,7 +9,6 @@ namespace Dwolla; use Dwolla\Hooks\HookContext; -use Dwolla\Models\Components; use Dwolla\Models\Operations; use Dwolla\Utils\Options; use Speakeasy\Serializer\DeserializationContext; @@ -54,7 +53,7 @@ public function getUrl(string $baseUrl, array $urlVariables): string * @return Operations\GetMicroDepositsResponse * @throws \Dwolla\Models\Errors\APIException */ - public function getMicroDeposits(string $id, ?Options $options = null): Operations\GetMicroDepositsResponse + public function get(string $id, ?Options $options = null): Operations\GetMicroDepositsResponse { $request = new Operations\GetMicroDepositsRequest( id: $id, @@ -122,33 +121,113 @@ public function getMicroDeposits(string $id, ?Options $options = null): Operatio } /** - * Initiate or Verify micro-deposits + * Initiate micro-deposits * - * Handles micro-deposit bank verification process. Make a request without a request body to initiate two small deposits to the customer's bank account. Include deposit amounts to verify the received values and complete verification. + * Initiates two small deposits to the customer's bank account for verification purposes. No request body is required. * * @param string $id - * @param Operations\InitiateMicroDeposits|Components\VerifyMicroDeposits|null $body - * @return Operations\InitiateOrVerifyMicroDepositsResponse + * @return Operations\InitiateMicroDepositsResponse * @throws \Dwolla\Models\Errors\APIException */ - public function initiateOrVerify(string $id, Operations\InitiateMicroDeposits|Components\VerifyMicroDeposits|null $body = null, ?Options $options = null): Operations\InitiateOrVerifyMicroDepositsResponse + public function initiate(string $id, ?Options $options = null): Operations\InitiateMicroDepositsResponse { - $request = new Operations\InitiateOrVerifyMicroDepositsRequest( + $request = new Operations\InitiateMicroDepositsRequest( + id: $id, + ); + $baseUrl = $this->sdkConfiguration->getTemplatedServerUrl(); + $url = Utils\Utils::generateUrl($baseUrl, '/funding-sources/{id}/micro-deposits#initiate', Operations\InitiateMicroDepositsRequest::class, $request); + $urlOverride = null; + $httpOptions = ['http_errors' => false]; + $httpOptions['headers']['Accept'] = 'application/vnd.dwolla.v1.hal+json'; + $httpOptions['headers']['user-agent'] = $this->sdkConfiguration->userAgent; + $httpRequest = new \GuzzleHttp\Psr7\Request('POST', $url); + $hookContext = new HookContext($this->sdkConfiguration, $baseUrl, 'initiateMicroDeposits', [], $this->sdkConfiguration->securitySource); + $httpRequest = $this->sdkConfiguration->hooks->beforeRequest(new Hooks\BeforeRequestContext($hookContext), $httpRequest); + $httpOptions = Utils\Utils::convertHeadersToOptions($httpRequest, $httpOptions); + $httpRequest = Utils\Utils::removeHeaders($httpRequest); + try { + $httpResponse = $this->sdkConfiguration->client->send($httpRequest, $httpOptions); + } catch (\GuzzleHttp\Exception\GuzzleException $error) { + $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), null, $error); + $httpResponse = $res; + } + $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; + + $statusCode = $httpResponse->getStatusCode(); + if (Utils\Utils::matchStatusCodes($statusCode, ['403', '404', '4XX', '5XX'])) { + $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); + $httpResponse = $res; + } + if (Utils\Utils::matchStatusCodes($statusCode, ['201'])) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + return new Operations\InitiateMicroDepositsResponse( + statusCode: $statusCode, + contentType: $contentType, + rawResponse: $httpResponse + ); + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['403'])) { + if (Utils\Utils::matchContentType($contentType, 'application/vnd.dwolla.v1.hal+json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\Dwolla\Models\Errors\InitiateMicroDepositsForbiddenDwollaV1HalJSONException', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + $obj->rawResponse = $httpResponse; + throw $obj->toException(); + } else { + throw new \Dwolla\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['404'])) { + if (Utils\Utils::matchContentType($contentType, 'application/vnd.dwolla.v1.hal+json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\Dwolla\Models\Errors\InitiateMicroDepositsNotFoundDwollaV1HalJSONException', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + $obj->rawResponse = $httpResponse; + throw $obj->toException(); + } else { + throw new \Dwolla\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['4XX'])) { + throw new \Dwolla\Models\Errors\APIException('API error occurred', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['5XX'])) { + throw new \Dwolla\Models\Errors\APIException('API error occurred', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } else { + throw new \Dwolla\Models\Errors\APIException('Unknown status code received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } + + /** + * Verify micro-deposits + * + * Verifies the micro-deposit amounts received in the customer's bank account to complete funding source verification. + * + * @param Operations\VerifyMicroDepositsRequestBody $body + * @param string $id + * @return Operations\VerifyMicroDepositsResponse + * @throws \Dwolla\Models\Errors\APIException + */ + public function verify(Operations\VerifyMicroDepositsRequestBody $body, string $id, ?Options $options = null): Operations\VerifyMicroDepositsResponse + { + $request = new Operations\VerifyMicroDepositsRequest( id: $id, body: $body, ); $baseUrl = $this->sdkConfiguration->getTemplatedServerUrl(); - $url = Utils\Utils::generateUrl($baseUrl, '/funding-sources/{id}/micro-deposits', Operations\InitiateOrVerifyMicroDepositsRequest::class, $request); + $url = Utils\Utils::generateUrl($baseUrl, '/funding-sources/{id}/micro-deposits#verify', Operations\VerifyMicroDepositsRequest::class, $request); $urlOverride = null; $httpOptions = ['http_errors' => false]; $body = Utils\Utils::serializeRequestBody($request, 'body', 'json'); - if ($body !== null) { - $httpOptions = array_merge_recursive($httpOptions, $body); + if ($body === null) { + throw new \Exception('Request body is required'); } + $httpOptions = array_merge_recursive($httpOptions, $body); $httpOptions['headers']['Accept'] = 'application/vnd.dwolla.v1.hal+json'; $httpOptions['headers']['user-agent'] = $this->sdkConfiguration->userAgent; $httpRequest = new \GuzzleHttp\Psr7\Request('POST', $url); - $hookContext = new HookContext($this->sdkConfiguration, $baseUrl, 'initiateOrVerifyMicroDeposits', [], $this->sdkConfiguration->securitySource); + $hookContext = new HookContext($this->sdkConfiguration, $baseUrl, 'verifyMicroDeposits', [], $this->sdkConfiguration->securitySource); $httpRequest = $this->sdkConfiguration->hooks->beforeRequest(new Hooks\BeforeRequestContext($hookContext), $httpRequest); $httpOptions = Utils\Utils::convertHeadersToOptions($httpRequest, $httpOptions); $httpRequest = Utils\Utils::removeHeaders($httpRequest); @@ -161,7 +240,7 @@ public function initiateOrVerify(string $id, Operations\InitiateMicroDeposits|Co $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['403', '404', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($statusCode, ['400', '403', '404', '4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } @@ -171,8 +250,8 @@ public function initiateOrVerify(string $id, Operations\InitiateMicroDeposits|Co $serializer = Utils\JSON::createSerializer(); $responseData = (string) $httpResponse->getBody(); - $obj = $serializer->deserialize($responseData, '\Dwolla\Models\Operations\InitiateOrVerifyMicroDepositsResponseBody', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); - $response = new Operations\InitiateOrVerifyMicroDepositsResponse( + $obj = $serializer->deserialize($responseData, '\Dwolla\Models\Operations\VerifyMicroDepositsResponseBody', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + $response = new Operations\VerifyMicroDepositsResponse( statusCode: $statusCode, contentType: $contentType, rawResponse: $httpResponse, @@ -182,21 +261,25 @@ public function initiateOrVerify(string $id, Operations\InitiateMicroDeposits|Co } else { throw new \Dwolla\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); } - } elseif (Utils\Utils::matchStatusCodes($statusCode, ['201'])) { - $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['400'])) { + if (Utils\Utils::matchContentType($contentType, 'application/vnd.dwolla.v1.hal+json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); - return new Operations\InitiateOrVerifyMicroDepositsResponse( - statusCode: $statusCode, - contentType: $contentType, - rawResponse: $httpResponse - ); + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\Dwolla\Models\Errors\VerifyMicroDepositsBadRequestDwollaV1HalJSONException', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + $obj->rawResponse = $httpResponse; + throw $obj->toException(); + } else { + throw new \Dwolla\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } } elseif (Utils\Utils::matchStatusCodes($statusCode, ['403'])) { if (Utils\Utils::matchContentType($contentType, 'application/vnd.dwolla.v1.hal+json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); $serializer = Utils\JSON::createSerializer(); $responseData = (string) $httpResponse->getBody(); - $obj = $serializer->deserialize($responseData, '\Dwolla\Models\Errors\InitiateOrVerifyMicroDepositsForbiddenDwollaV1HalJSONException', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + $obj = $serializer->deserialize($responseData, '\Dwolla\Models\Errors\VerifyMicroDepositsForbiddenDwollaV1HalJSONException', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); $obj->rawResponse = $httpResponse; throw $obj->toException(); } else { @@ -208,7 +291,7 @@ public function initiateOrVerify(string $id, Operations\InitiateMicroDeposits|Co $serializer = Utils\JSON::createSerializer(); $responseData = (string) $httpResponse->getBody(); - $obj = $serializer->deserialize($responseData, '\Dwolla\Models\Errors\InitiateOrVerifyMicroDepositsNotFoundDwollaV1HalJSONException', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + $obj = $serializer->deserialize($responseData, '\Dwolla\Models\Errors\VerifyMicroDepositsNotFoundDwollaV1HalJSONException', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); $obj->rawResponse = $httpResponse; throw $obj->toException(); } else { diff --git a/src/Models/Components/VerifiedBusinessCustomerAddress.php b/src/Models/Components/Address.php similarity index 98% rename from src/Models/Components/VerifiedBusinessCustomerAddress.php rename to src/Models/Components/Address.php index 42c8051..2b4aa7d 100644 --- a/src/Models/Components/VerifiedBusinessCustomerAddress.php +++ b/src/Models/Components/Address.php @@ -9,7 +9,7 @@ namespace Dwolla\Models\Components; -class VerifiedBusinessCustomerAddress +class Address { /** * diff --git a/src/Models/Components/DeactivateCustomer.php b/src/Models/Components/DeactivateCustomer.php deleted file mode 100644 index f8562e7..0000000 --- a/src/Models/Components/DeactivateCustomer.php +++ /dev/null @@ -1,30 +0,0 @@ -status = $status; - } -} \ No newline at end of file diff --git a/src/Models/Components/ReactivateCustomer.php b/src/Models/Components/ReactivateCustomer.php deleted file mode 100644 index 220fee3..0000000 --- a/src/Models/Components/ReactivateCustomer.php +++ /dev/null @@ -1,30 +0,0 @@ -status = $status; - } -} \ No newline at end of file diff --git a/src/Models/Components/RetryVerifiedBusinessNoController.php b/src/Models/Components/RetryVerifiedBusinessNoController.php deleted file mode 100644 index b8a139d..0000000 --- a/src/Models/Components/RetryVerifiedBusinessNoController.php +++ /dev/null @@ -1,139 +0,0 @@ -firstName = $firstName; - $this->lastName = $lastName; - $this->email = $email; - $this->type = $type; - $this->address1 = $address1; - $this->city = $city; - $this->state = $state; - $this->postalCode = $postalCode; - $this->businessClassification = $businessClassification; - $this->businessType = $businessType; - $this->businessName = $businessName; - $this->ein = $ein; - $this->ipAddress = $ipAddress; - } -} \ No newline at end of file diff --git a/src/Models/Components/RetryVerifiedBusinessWithController.php b/src/Models/Components/RetryVerifiedBusinessWithController.php deleted file mode 100644 index 586ff5f..0000000 --- a/src/Models/Components/RetryVerifiedBusinessWithController.php +++ /dev/null @@ -1,149 +0,0 @@ -firstName = $firstName; - $this->lastName = $lastName; - $this->email = $email; - $this->type = $type; - $this->address1 = $address1; - $this->city = $city; - $this->state = $state; - $this->postalCode = $postalCode; - $this->controller = $controller; - $this->businessClassification = $businessClassification; - $this->businessType = $businessType; - $this->businessName = $businessName; - $this->ein = $ein; - $this->ipAddress = $ipAddress; - } -} \ No newline at end of file diff --git a/src/Models/Components/RetryVerifiedBusinessWithControllerAddress.php b/src/Models/Components/RetryVerifiedBusinessWithControllerAddress.php deleted file mode 100644 index 924de7c..0000000 --- a/src/Models/Components/RetryVerifiedBusinessWithControllerAddress.php +++ /dev/null @@ -1,75 +0,0 @@ -address1 = $address1; - $this->city = $city; - $this->stateProvinceRegion = $stateProvinceRegion; - $this->postalCode = $postalCode; - $this->country = $country; - $this->address2 = $address2; - } -} \ No newline at end of file diff --git a/src/Models/Components/RetryVerifiedBusinessWithControllerController.php b/src/Models/Components/RetryVerifiedBusinessWithControllerController.php deleted file mode 100644 index ef2c3d4..0000000 --- a/src/Models/Components/RetryVerifiedBusinessWithControllerController.php +++ /dev/null @@ -1,75 +0,0 @@ -firstName = $firstName; - $this->lastName = $lastName; - $this->title = $title; - $this->ssn = $ssn; - $this->dateOfBirth = $dateOfBirth; - $this->address = $address; - } -} \ No newline at end of file diff --git a/src/Models/Components/RetryVerifiedBusinessWithInternationalController.php b/src/Models/Components/RetryVerifiedBusinessWithInternationalController.php deleted file mode 100644 index cd02f5e..0000000 --- a/src/Models/Components/RetryVerifiedBusinessWithInternationalController.php +++ /dev/null @@ -1,149 +0,0 @@ -firstName = $firstName; - $this->lastName = $lastName; - $this->email = $email; - $this->type = $type; - $this->address1 = $address1; - $this->city = $city; - $this->state = $state; - $this->postalCode = $postalCode; - $this->controller = $controller; - $this->businessClassification = $businessClassification; - $this->businessType = $businessType; - $this->businessName = $businessName; - $this->ein = $ein; - $this->ipAddress = $ipAddress; - } -} \ No newline at end of file diff --git a/src/Models/Components/RetryVerifiedBusinessWithInternationalControllerAddress.php b/src/Models/Components/RetryVerifiedBusinessWithInternationalControllerAddress.php deleted file mode 100644 index 4aad07d..0000000 --- a/src/Models/Components/RetryVerifiedBusinessWithInternationalControllerAddress.php +++ /dev/null @@ -1,86 +0,0 @@ -address1 = $address1; - $this->city = $city; - $this->country = $country; - $this->stateProvinceRegion = $stateProvinceRegion; - $this->address2 = $address2; - $this->address3 = $address3; - $this->postalCode = $postalCode; - } -} \ No newline at end of file diff --git a/src/Models/Components/RetryVerifiedBusinessWithInternationalControllerController.php b/src/Models/Components/RetryVerifiedBusinessWithInternationalControllerController.php deleted file mode 100644 index 318ff4f..0000000 --- a/src/Models/Components/RetryVerifiedBusinessWithInternationalControllerController.php +++ /dev/null @@ -1,76 +0,0 @@ -firstName = $firstName; - $this->lastName = $lastName; - $this->title = $title; - $this->dateOfBirth = $dateOfBirth; - $this->address = $address; - $this->passport = $passport; - } -} \ No newline at end of file diff --git a/src/Models/Components/RetryVerifiedBusinessWithInternationalControllerPassport.php b/src/Models/Components/RetryVerifiedBusinessWithInternationalControllerPassport.php deleted file mode 100644 index b6afd7c..0000000 --- a/src/Models/Components/RetryVerifiedBusinessWithInternationalControllerPassport.php +++ /dev/null @@ -1,38 +0,0 @@ -number = $number; - $this->country = $country; - } -} \ No newline at end of file diff --git a/src/Models/Components/RetryVerifiedPersonal.php b/src/Models/Components/RetryVerifiedPersonal.php deleted file mode 100644 index 75dfc03..0000000 --- a/src/Models/Components/RetryVerifiedPersonal.php +++ /dev/null @@ -1,121 +0,0 @@ -firstName = $firstName; - $this->lastName = $lastName; - $this->email = $email; - $this->type = $type; - $this->address1 = $address1; - $this->city = $city; - $this->state = $state; - $this->postalCode = $postalCode; - $this->dateOfBirth = $dateOfBirth; - $this->ssn = $ssn; - $this->ipAddress = $ipAddress; - } -} \ No newline at end of file diff --git a/src/Models/Components/RetryVerifiedSoleProp.php b/src/Models/Components/RetryVerifiedSoleProp.php deleted file mode 100644 index c920ad2..0000000 --- a/src/Models/Components/RetryVerifiedSoleProp.php +++ /dev/null @@ -1,157 +0,0 @@ -firstName = $firstName; - $this->lastName = $lastName; - $this->email = $email; - $this->type = $type; - $this->dateOfBirth = $dateOfBirth; - $this->ssn = $ssn; - $this->address1 = $address1; - $this->city = $city; - $this->state = $state; - $this->postalCode = $postalCode; - $this->businessClassification = $businessClassification; - $this->businessType = $businessType; - $this->businessName = $businessName; - $this->ein = $ein; - $this->ipAddress = $ipAddress; - } -} \ No newline at end of file diff --git a/src/Models/Components/SuspendCustomer.php b/src/Models/Components/SuspendCustomer.php deleted file mode 100644 index 3b9d697..0000000 --- a/src/Models/Components/SuspendCustomer.php +++ /dev/null @@ -1,30 +0,0 @@ -status = $status; - } -} \ No newline at end of file diff --git a/src/Models/Components/UpdateUnverifiedAndReceiveOnly.php b/src/Models/Components/UpdateUnverifiedAndReceiveOnly.php deleted file mode 100644 index f3a3cee..0000000 --- a/src/Models/Components/UpdateUnverifiedAndReceiveOnly.php +++ /dev/null @@ -1,61 +0,0 @@ -firstName = $firstName; - $this->lastName = $lastName; - $this->email = $email; - $this->businessName = $businessName; - } -} \ No newline at end of file diff --git a/src/Models/Components/UpdateVerifiedBusiness.php b/src/Models/Components/UpdateVerifiedBusiness.php deleted file mode 100644 index 11c9c49..0000000 --- a/src/Models/Components/UpdateVerifiedBusiness.php +++ /dev/null @@ -1,121 +0,0 @@ -email = $email; - $this->ipAddress = $ipAddress; - $this->address1 = $address1; - $this->address2 = $address2; - $this->city = $city; - $this->state = $state; - $this->postalCode = $postalCode; - $this->phone = $phone; - $this->doingBusinessAs = $doingBusinessAs; - $this->website = $website; - } -} \ No newline at end of file diff --git a/src/Models/Components/UpdateVerifiedPersonal.php b/src/Models/Components/UpdateVerifiedPersonal.php deleted file mode 100644 index 91e5d25..0000000 --- a/src/Models/Components/UpdateVerifiedPersonal.php +++ /dev/null @@ -1,101 +0,0 @@ -email = $email; - $this->ipAddress = $ipAddress; - $this->address1 = $address1; - $this->address2 = $address2; - $this->city = $city; - $this->state = $state; - $this->postalCode = $postalCode; - $this->phone = $phone; - } -} \ No newline at end of file diff --git a/src/Models/Components/UpgradeToUnverified.php b/src/Models/Components/UpgradeToUnverified.php deleted file mode 100644 index 80574a6..0000000 --- a/src/Models/Components/UpgradeToUnverified.php +++ /dev/null @@ -1,30 +0,0 @@ -type = $type; - } -} \ No newline at end of file diff --git a/src/Models/Components/UpgradeToVerifiedBusiness.php b/src/Models/Components/UpgradeToVerifiedBusiness.php deleted file mode 100644 index 555b2ad..0000000 --- a/src/Models/Components/UpgradeToVerifiedBusiness.php +++ /dev/null @@ -1,149 +0,0 @@ -firstName = $firstName; - $this->lastName = $lastName; - $this->email = $email; - $this->type = $type; - $this->address1 = $address1; - $this->city = $city; - $this->state = $state; - $this->postalCode = $postalCode; - $this->controller = $controller; - $this->businessClassification = $businessClassification; - $this->businessType = $businessType; - $this->businessName = $businessName; - $this->ein = $ein; - $this->ipAddress = $ipAddress; - } -} \ No newline at end of file diff --git a/src/Models/Components/UpgradeToVerifiedBusinessAddress.php b/src/Models/Components/UpgradeToVerifiedBusinessAddress.php deleted file mode 100644 index 0c6d26c..0000000 --- a/src/Models/Components/UpgradeToVerifiedBusinessAddress.php +++ /dev/null @@ -1,75 +0,0 @@ -address1 = $address1; - $this->city = $city; - $this->stateProvinceRegion = $stateProvinceRegion; - $this->postalCode = $postalCode; - $this->country = $country; - $this->address2 = $address2; - } -} \ No newline at end of file diff --git a/src/Models/Components/UpgradeToVerifiedBusinessController.php b/src/Models/Components/UpgradeToVerifiedBusinessController.php deleted file mode 100644 index c6ad64a..0000000 --- a/src/Models/Components/UpgradeToVerifiedBusinessController.php +++ /dev/null @@ -1,76 +0,0 @@ -firstName = $firstName; - $this->lastName = $lastName; - $this->title = $title; - $this->dateOfBirth = $dateOfBirth; - $this->address = $address; - $this->ssn = $ssn; - } -} \ No newline at end of file diff --git a/src/Models/Components/UpgradeToVerifiedPersonal.php b/src/Models/Components/UpgradeToVerifiedPersonal.php deleted file mode 100644 index b50497b..0000000 --- a/src/Models/Components/UpgradeToVerifiedPersonal.php +++ /dev/null @@ -1,121 +0,0 @@ -firstName = $firstName; - $this->lastName = $lastName; - $this->email = $email; - $this->type = $type; - $this->address1 = $address1; - $this->city = $city; - $this->state = $state; - $this->postalCode = $postalCode; - $this->dateOfBirth = $dateOfBirth; - $this->ssn = $ssn; - $this->ipAddress = $ipAddress; - } -} \ No newline at end of file diff --git a/src/Models/Components/UpgradeToVerifiedSoleProp.php b/src/Models/Components/UpgradeToVerifiedSoleProp.php deleted file mode 100644 index 0fb6fd1..0000000 --- a/src/Models/Components/UpgradeToVerifiedSoleProp.php +++ /dev/null @@ -1,157 +0,0 @@ -firstName = $firstName; - $this->lastName = $lastName; - $this->email = $email; - $this->type = $type; - $this->dateOfBirth = $dateOfBirth; - $this->ssn = $ssn; - $this->address1 = $address1; - $this->city = $city; - $this->state = $state; - $this->postalCode = $postalCode; - $this->businessClassification = $businessClassification; - $this->businessType = $businessType; - $this->businessName = $businessName; - $this->ein = $ein; - $this->ipAddress = $ipAddress; - } -} \ No newline at end of file diff --git a/src/Models/Components/VerifiedBusinessCustomerController.php b/src/Models/Components/VerifiedBusinessCustomerController.php index a799ac1..ea44c7c 100644 --- a/src/Models/Components/VerifiedBusinessCustomerController.php +++ b/src/Models/Components/VerifiedBusinessCustomerController.php @@ -34,20 +34,20 @@ class VerifiedBusinessCustomerController /** * - * @var VerifiedBusinessCustomerAddress $address + * @var Address $address */ #[\Speakeasy\Serializer\Annotation\SerializedName('address')] - #[\Speakeasy\Serializer\Annotation\Type('\Dwolla\Models\Components\VerifiedBusinessCustomerAddress')] - public VerifiedBusinessCustomerAddress $address; + #[\Speakeasy\Serializer\Annotation\Type('\Dwolla\Models\Components\Address')] + public Address $address; /** * @param string $firstName * @param string $lastName * @param string $title - * @param VerifiedBusinessCustomerAddress $address + * @param Address $address * @phpstan-pure */ - public function __construct(string $firstName, string $lastName, string $title, VerifiedBusinessCustomerAddress $address) + public function __construct(string $firstName, string $lastName, string $title, Address $address) { $this->firstName = $firstName; $this->lastName = $lastName; diff --git a/src/Models/Errors/InitiateMicroDepositsForbiddenDwollaV1HalJSONException.php b/src/Models/Errors/InitiateMicroDepositsForbiddenDwollaV1HalJSONException.php new file mode 100644 index 0000000..1fc11dd --- /dev/null +++ b/src/Models/Errors/InitiateMicroDepositsForbiddenDwollaV1HalJSONException.php @@ -0,0 +1,65 @@ +code = $code; + $this->message = $message; + $this->rawResponse = $rawResponse; + } + + public function toException(): InitiateMicroDepositsForbiddenDwollaV1HalJSONExceptionThrowable + { + $serializer = Utils\JSON::createSerializer(); + $message = $serializer->serialize($this, 'json'); + if ($this->code !== null) { + $code = $this->code; + } else { + $code = -1; + } + + return new InitiateMicroDepositsForbiddenDwollaV1HalJSONExceptionThrowable($message, (int) $code, $this); + } +} \ No newline at end of file diff --git a/src/Models/Errors/InitiateOrVerifyMicroDepositsNotFoundDwollaV1HalJSONExceptionThrowable.php b/src/Models/Errors/InitiateMicroDepositsForbiddenDwollaV1HalJSONExceptionThrowable.php similarity index 54% rename from src/Models/Errors/InitiateOrVerifyMicroDepositsNotFoundDwollaV1HalJSONExceptionThrowable.php rename to src/Models/Errors/InitiateMicroDepositsForbiddenDwollaV1HalJSONExceptionThrowable.php index 6516be4..1f6443e 100644 --- a/src/Models/Errors/InitiateOrVerifyMicroDepositsNotFoundDwollaV1HalJSONExceptionThrowable.php +++ b/src/Models/Errors/InitiateMicroDepositsForbiddenDwollaV1HalJSONExceptionThrowable.php @@ -8,11 +8,11 @@ namespace Dwolla\Models\Errors; -class InitiateOrVerifyMicroDepositsNotFoundDwollaV1HalJSONExceptionThrowable extends \RuntimeException +class InitiateMicroDepositsForbiddenDwollaV1HalJSONExceptionThrowable extends \RuntimeException { - public InitiateOrVerifyMicroDepositsNotFoundDwollaV1HalJSONException $container; + public InitiateMicroDepositsForbiddenDwollaV1HalJSONException $container; - public function __construct(string $message, int $statusCode, InitiateOrVerifyMicroDepositsNotFoundDwollaV1HalJSONException $container) + public function __construct(string $message, int $statusCode, InitiateMicroDepositsForbiddenDwollaV1HalJSONException $container) { parent::__construct($message, $statusCode); $this->container = $container; diff --git a/src/Models/Errors/InitiateOrVerifyMicroDepositsNotFoundDwollaV1HalJSONException.php b/src/Models/Errors/InitiateMicroDepositsNotFoundDwollaV1HalJSONException.php similarity index 80% rename from src/Models/Errors/InitiateOrVerifyMicroDepositsNotFoundDwollaV1HalJSONException.php rename to src/Models/Errors/InitiateMicroDepositsNotFoundDwollaV1HalJSONException.php index bb1ec55..1ce29b6 100644 --- a/src/Models/Errors/InitiateOrVerifyMicroDepositsNotFoundDwollaV1HalJSONException.php +++ b/src/Models/Errors/InitiateMicroDepositsNotFoundDwollaV1HalJSONException.php @@ -9,8 +9,8 @@ namespace Dwolla\Models\Errors; use Dwolla\Utils; -/** InitiateOrVerifyMicroDepositsNotFoundDwollaV1HalJSONException - not found */ -class InitiateOrVerifyMicroDepositsNotFoundDwollaV1HalJSONException +/** InitiateMicroDepositsNotFoundDwollaV1HalJSONException - Funding source not found */ +class InitiateMicroDepositsNotFoundDwollaV1HalJSONException { /** * @@ -50,7 +50,7 @@ public function __construct(?string $code = null, ?string $message = null, ?\Psr $this->rawResponse = $rawResponse; } - public function toException(): InitiateOrVerifyMicroDepositsNotFoundDwollaV1HalJSONExceptionThrowable + public function toException(): InitiateMicroDepositsNotFoundDwollaV1HalJSONExceptionThrowable { $serializer = Utils\JSON::createSerializer(); $message = $serializer->serialize($this, 'json'); @@ -60,6 +60,6 @@ public function toException(): InitiateOrVerifyMicroDepositsNotFoundDwollaV1HalJ $code = -1; } - return new InitiateOrVerifyMicroDepositsNotFoundDwollaV1HalJSONExceptionThrowable($message, (int) $code, $this); + return new InitiateMicroDepositsNotFoundDwollaV1HalJSONExceptionThrowable($message, (int) $code, $this); } } \ No newline at end of file diff --git a/src/Models/Errors/InitiateOrVerifyMicroDepositsForbiddenDwollaV1HalJSONExceptionThrowable.php b/src/Models/Errors/InitiateMicroDepositsNotFoundDwollaV1HalJSONExceptionThrowable.php similarity index 54% rename from src/Models/Errors/InitiateOrVerifyMicroDepositsForbiddenDwollaV1HalJSONExceptionThrowable.php rename to src/Models/Errors/InitiateMicroDepositsNotFoundDwollaV1HalJSONExceptionThrowable.php index 9773b2e..5121719 100644 --- a/src/Models/Errors/InitiateOrVerifyMicroDepositsForbiddenDwollaV1HalJSONExceptionThrowable.php +++ b/src/Models/Errors/InitiateMicroDepositsNotFoundDwollaV1HalJSONExceptionThrowable.php @@ -8,11 +8,11 @@ namespace Dwolla\Models\Errors; -class InitiateOrVerifyMicroDepositsForbiddenDwollaV1HalJSONExceptionThrowable extends \RuntimeException +class InitiateMicroDepositsNotFoundDwollaV1HalJSONExceptionThrowable extends \RuntimeException { - public InitiateOrVerifyMicroDepositsForbiddenDwollaV1HalJSONException $container; + public InitiateMicroDepositsNotFoundDwollaV1HalJSONException $container; - public function __construct(string $message, int $statusCode, InitiateOrVerifyMicroDepositsForbiddenDwollaV1HalJSONException $container) + public function __construct(string $message, int $statusCode, InitiateMicroDepositsNotFoundDwollaV1HalJSONException $container) { parent::__construct($message, $statusCode); $this->container = $container; diff --git a/src/Models/Errors/VerifyMicroDepositsBadRequestDwollaV1HalJSONException.php b/src/Models/Errors/VerifyMicroDepositsBadRequestDwollaV1HalJSONException.php new file mode 100644 index 0000000..70abe9c --- /dev/null +++ b/src/Models/Errors/VerifyMicroDepositsBadRequestDwollaV1HalJSONException.php @@ -0,0 +1,77 @@ +code = $code; + $this->message = $message; + $this->embedded = $embedded; + $this->rawResponse = $rawResponse; + } + + public function toException(): VerifyMicroDepositsBadRequestDwollaV1HalJSONExceptionThrowable + { + $serializer = Utils\JSON::createSerializer(); + $message = $serializer->serialize($this, 'json'); + if ($this->code !== null) { + $code = $this->code; + } else { + $code = -1; + } + + return new VerifyMicroDepositsBadRequestDwollaV1HalJSONExceptionThrowable($message, (int) $code, $this); + } +} \ No newline at end of file diff --git a/src/Models/Errors/VerifyMicroDepositsBadRequestDwollaV1HalJSONExceptionThrowable.php b/src/Models/Errors/VerifyMicroDepositsBadRequestDwollaV1HalJSONExceptionThrowable.php new file mode 100644 index 0000000..f0264b7 --- /dev/null +++ b/src/Models/Errors/VerifyMicroDepositsBadRequestDwollaV1HalJSONExceptionThrowable.php @@ -0,0 +1,20 @@ +container = $container; + } +} \ No newline at end of file diff --git a/src/Models/Errors/VerifyMicroDepositsForbiddenDwollaV1HalJSONException.php b/src/Models/Errors/VerifyMicroDepositsForbiddenDwollaV1HalJSONException.php new file mode 100644 index 0000000..f46bbfc --- /dev/null +++ b/src/Models/Errors/VerifyMicroDepositsForbiddenDwollaV1HalJSONException.php @@ -0,0 +1,65 @@ +code = $code; + $this->message = $message; + $this->rawResponse = $rawResponse; + } + + public function toException(): VerifyMicroDepositsForbiddenDwollaV1HalJSONExceptionThrowable + { + $serializer = Utils\JSON::createSerializer(); + $message = $serializer->serialize($this, 'json'); + if ($this->code !== null) { + $code = $this->code; + } else { + $code = -1; + } + + return new VerifyMicroDepositsForbiddenDwollaV1HalJSONExceptionThrowable($message, (int) $code, $this); + } +} \ No newline at end of file diff --git a/src/Models/Errors/VerifyMicroDepositsForbiddenDwollaV1HalJSONExceptionThrowable.php b/src/Models/Errors/VerifyMicroDepositsForbiddenDwollaV1HalJSONExceptionThrowable.php new file mode 100644 index 0000000..72ef080 --- /dev/null +++ b/src/Models/Errors/VerifyMicroDepositsForbiddenDwollaV1HalJSONExceptionThrowable.php @@ -0,0 +1,20 @@ +container = $container; + } +} \ No newline at end of file diff --git a/src/Models/Errors/InitiateOrVerifyMicroDepositsForbiddenDwollaV1HalJSONException.php b/src/Models/Errors/VerifyMicroDepositsNotFoundDwollaV1HalJSONException.php similarity index 79% rename from src/Models/Errors/InitiateOrVerifyMicroDepositsForbiddenDwollaV1HalJSONException.php rename to src/Models/Errors/VerifyMicroDepositsNotFoundDwollaV1HalJSONException.php index c1e0599..40d2ffa 100644 --- a/src/Models/Errors/InitiateOrVerifyMicroDepositsForbiddenDwollaV1HalJSONException.php +++ b/src/Models/Errors/VerifyMicroDepositsNotFoundDwollaV1HalJSONException.php @@ -9,8 +9,8 @@ namespace Dwolla\Models\Errors; use Dwolla\Utils; -/** InitiateOrVerifyMicroDepositsForbiddenDwollaV1HalJSONException - forbidden */ -class InitiateOrVerifyMicroDepositsForbiddenDwollaV1HalJSONException +/** VerifyMicroDepositsNotFoundDwollaV1HalJSONException - Funding source not found */ +class VerifyMicroDepositsNotFoundDwollaV1HalJSONException { /** * @@ -50,7 +50,7 @@ public function __construct(?string $code = null, ?string $message = null, ?\Psr $this->rawResponse = $rawResponse; } - public function toException(): InitiateOrVerifyMicroDepositsForbiddenDwollaV1HalJSONExceptionThrowable + public function toException(): VerifyMicroDepositsNotFoundDwollaV1HalJSONExceptionThrowable { $serializer = Utils\JSON::createSerializer(); $message = $serializer->serialize($this, 'json'); @@ -60,6 +60,6 @@ public function toException(): InitiateOrVerifyMicroDepositsForbiddenDwollaV1Hal $code = -1; } - return new InitiateOrVerifyMicroDepositsForbiddenDwollaV1HalJSONExceptionThrowable($message, (int) $code, $this); + return new VerifyMicroDepositsNotFoundDwollaV1HalJSONExceptionThrowable($message, (int) $code, $this); } } \ No newline at end of file diff --git a/src/Models/Errors/VerifyMicroDepositsNotFoundDwollaV1HalJSONExceptionThrowable.php b/src/Models/Errors/VerifyMicroDepositsNotFoundDwollaV1HalJSONExceptionThrowable.php new file mode 100644 index 0000000..7a5992a --- /dev/null +++ b/src/Models/Errors/VerifyMicroDepositsNotFoundDwollaV1HalJSONExceptionThrowable.php @@ -0,0 +1,20 @@ +container = $container; + } +} \ No newline at end of file diff --git a/src/Models/Components/Amount1.php b/src/Models/Operations/Amount1.php similarity index 94% rename from src/Models/Components/Amount1.php rename to src/Models/Operations/Amount1.php index 6ee7010..c700baf 100644 --- a/src/Models/Components/Amount1.php +++ b/src/Models/Operations/Amount1.php @@ -6,7 +6,7 @@ declare(strict_types=1); -namespace Dwolla\Models\Components; +namespace Dwolla\Models\Operations; class Amount1 diff --git a/src/Models/Components/Amount2.php b/src/Models/Operations/Amount2.php similarity index 94% rename from src/Models/Components/Amount2.php rename to src/Models/Operations/Amount2.php index bfc5fe3..47de92b 100644 --- a/src/Models/Components/Amount2.php +++ b/src/Models/Operations/Amount2.php @@ -6,7 +6,7 @@ declare(strict_types=1); -namespace Dwolla\Models\Components; +namespace Dwolla\Models\Operations; class Amount2 diff --git a/src/Models/Operations/InitiateMicroDeposits.php b/src/Models/Operations/BadRequestLinks.php similarity index 62% rename from src/Models/Operations/InitiateMicroDeposits.php rename to src/Models/Operations/BadRequestLinks.php index d67118f..53f9353 100644 --- a/src/Models/Operations/InitiateMicroDeposits.php +++ b/src/Models/Operations/BadRequestLinks.php @@ -9,8 +9,7 @@ namespace Dwolla\Models\Operations; -/** InitiateMicroDeposits - No request body is required for initiating micro-deposits. */ -class InitiateMicroDeposits +class BadRequestLinks { public function __construct() diff --git a/src/Models/Operations/Error.php b/src/Models/Operations/Error.php new file mode 100644 index 0000000..cfcebcd --- /dev/null +++ b/src/Models/Operations/Error.php @@ -0,0 +1,61 @@ +code = $code; + $this->message = $message; + $this->path = $path; + $this->links = $links; + } +} \ No newline at end of file diff --git a/src/Models/Operations/InitiateMicroDepositsRequest.php b/src/Models/Operations/InitiateMicroDepositsRequest.php new file mode 100644 index 0000000..46aec08 --- /dev/null +++ b/src/Models/Operations/InitiateMicroDepositsRequest.php @@ -0,0 +1,30 @@ +id = $id; + } +} \ No newline at end of file diff --git a/src/Models/Operations/InitiateOrVerifyMicroDepositsResponse.php b/src/Models/Operations/InitiateMicroDepositsResponse.php similarity index 72% rename from src/Models/Operations/InitiateOrVerifyMicroDepositsResponse.php rename to src/Models/Operations/InitiateMicroDepositsResponse.php index d9a5e9c..1e3711e 100644 --- a/src/Models/Operations/InitiateOrVerifyMicroDepositsResponse.php +++ b/src/Models/Operations/InitiateMicroDepositsResponse.php @@ -9,7 +9,7 @@ namespace Dwolla\Models\Operations; -class InitiateOrVerifyMicroDepositsResponse +class InitiateMicroDepositsResponse { /** * HTTP response content type for this operation @@ -39,27 +39,18 @@ class InitiateOrVerifyMicroDepositsResponse */ public array $headers; - /** - * successful operation - * - * @var ?InitiateOrVerifyMicroDepositsResponseBody $object - */ - public ?InitiateOrVerifyMicroDepositsResponseBody $object = null; - /** * @param string $contentType * @param int $statusCode * @param \Psr\Http\Message\ResponseInterface $rawResponse * @param array> $headers - * @param ?InitiateOrVerifyMicroDepositsResponseBody $object * @phpstan-pure */ - public function __construct(string $contentType, int $statusCode, \Psr\Http\Message\ResponseInterface $rawResponse, ?InitiateOrVerifyMicroDepositsResponseBody $object = null, ?array $headers = []) + public function __construct(string $contentType, int $statusCode, \Psr\Http\Message\ResponseInterface $rawResponse, ?array $headers = []) { $this->contentType = $contentType; $this->statusCode = $statusCode; $this->rawResponse = $rawResponse; $this->headers = $headers; - $this->object = $object; } } \ No newline at end of file diff --git a/src/Models/Operations/InitiateOrVerifyMicroDepositsRequest.php b/src/Models/Operations/InitiateOrVerifyMicroDepositsRequest.php deleted file mode 100644 index e28acc1..0000000 --- a/src/Models/Operations/InitiateOrVerifyMicroDepositsRequest.php +++ /dev/null @@ -1,45 +0,0 @@ -id = $id; - $this->body = $body; - } -} \ No newline at end of file diff --git a/src/Models/Operations/InitiateOrVerifyMicroDepositsResponseBody.php b/src/Models/Operations/InitiateOrVerifyMicroDepositsResponseBody.php deleted file mode 100644 index 1ff849d..0000000 --- a/src/Models/Operations/InitiateOrVerifyMicroDepositsResponseBody.php +++ /dev/null @@ -1,32 +0,0 @@ -links = $links; - } -} \ No newline at end of file diff --git a/src/Models/Operations/UpdateRequest.php b/src/Models/Operations/UpdateRequest.php index a3f2ef8..487ae46 100644 --- a/src/Models/Operations/UpdateRequest.php +++ b/src/Models/Operations/UpdateRequest.php @@ -8,7 +8,6 @@ namespace Dwolla\Models\Operations; -use Dwolla\Models\Components; use Dwolla\Utils\SpeakeasyMetadata; class UpdateRequest { @@ -23,17 +22,17 @@ class UpdateRequest /** * Parameters for updating a Customer * - * @var Components\DeactivateCustomer|Components\ReactivateCustomer|Components\SuspendCustomer|Components\UpdateUnverifiedAndReceiveOnly|Components\UpdateVerifiedPersonal|Components\UpdateVerifiedBusiness|Components\UpgradeToUnverified|Components\UpgradeToVerifiedPersonal|Components\UpgradeToVerifiedBusiness|Components\UpgradeToVerifiedSoleProp|Components\RetryVerifiedPersonal|Components\RetryVerifiedBusinessNoController|Components\RetryVerifiedBusinessWithController|Components\RetryVerifiedBusinessWithInternationalController|Components\RetryVerifiedSoleProp $body + * @var mixed $body */ #[SpeakeasyMetadata('request:mediaType=application/json')] - public Components\DeactivateCustomer|Components\ReactivateCustomer|Components\SuspendCustomer|Components\UpdateUnverifiedAndReceiveOnly|Components\UpdateVerifiedPersonal|Components\UpdateVerifiedBusiness|Components\UpgradeToUnverified|Components\UpgradeToVerifiedPersonal|Components\UpgradeToVerifiedBusiness|Components\UpgradeToVerifiedSoleProp|Components\RetryVerifiedPersonal|Components\RetryVerifiedBusinessNoController|Components\RetryVerifiedBusinessWithController|Components\RetryVerifiedBusinessWithInternationalController|Components\RetryVerifiedSoleProp $body; + public mixed $body; /** * @param string $id - * @param Components\DeactivateCustomer|Components\ReactivateCustomer|Components\SuspendCustomer|Components\UpdateUnverifiedAndReceiveOnly|Components\UpdateVerifiedPersonal|Components\UpdateVerifiedBusiness|Components\UpgradeToUnverified|Components\UpgradeToVerifiedPersonal|Components\UpgradeToVerifiedBusiness|Components\UpgradeToVerifiedSoleProp|Components\RetryVerifiedPersonal|Components\RetryVerifiedBusinessNoController|Components\RetryVerifiedBusinessWithController|Components\RetryVerifiedBusinessWithInternationalController|Components\RetryVerifiedSoleProp $body + * @param mixed $body * @phpstan-pure */ - public function __construct(string $id, Components\DeactivateCustomer|Components\ReactivateCustomer|Components\SuspendCustomer|Components\UpdateUnverifiedAndReceiveOnly|Components\UpdateVerifiedPersonal|Components\UpdateVerifiedBusiness|Components\UpgradeToUnverified|Components\UpgradeToVerifiedPersonal|Components\UpgradeToVerifiedBusiness|Components\UpgradeToVerifiedSoleProp|Components\RetryVerifiedPersonal|Components\RetryVerifiedBusinessNoController|Components\RetryVerifiedBusinessWithController|Components\RetryVerifiedBusinessWithInternationalController|Components\RetryVerifiedSoleProp $body) + public function __construct(string $id, mixed $body) { $this->id = $id; $this->body = $body; diff --git a/src/Models/Operations/VerifyMicroDepositsEmbedded.php b/src/Models/Operations/VerifyMicroDepositsEmbedded.php new file mode 100644 index 0000000..7bc4e6b --- /dev/null +++ b/src/Models/Operations/VerifyMicroDepositsEmbedded.php @@ -0,0 +1,32 @@ + $errors + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('errors')] + #[\Speakeasy\Serializer\Annotation\Type('array<\Dwolla\Models\Operations\Error>|null')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?array $errors = null; + + /** + * @param ?array $errors + * @phpstan-pure + */ + public function __construct(?array $errors = null) + { + $this->errors = $errors; + } +} \ No newline at end of file diff --git a/src/Models/Operations/InitiateOrVerifyMicroDepositsLinks.php b/src/Models/Operations/VerifyMicroDepositsLinks.php similarity index 56% rename from src/Models/Operations/InitiateOrVerifyMicroDepositsLinks.php rename to src/Models/Operations/VerifyMicroDepositsLinks.php index e307540..acab094 100644 --- a/src/Models/Operations/InitiateOrVerifyMicroDepositsLinks.php +++ b/src/Models/Operations/VerifyMicroDepositsLinks.php @@ -9,22 +9,22 @@ namespace Dwolla\Models\Operations; -class InitiateOrVerifyMicroDepositsLinks +class VerifyMicroDepositsLinks { /** * - * @var ?InitiateOrVerifyMicroDepositsSelf $self + * @var ?VerifyMicroDepositsSelf $self */ #[\Speakeasy\Serializer\Annotation\SerializedName('self')] - #[\Speakeasy\Serializer\Annotation\Type('\Dwolla\Models\Operations\InitiateOrVerifyMicroDepositsSelf|null')] + #[\Speakeasy\Serializer\Annotation\Type('\Dwolla\Models\Operations\VerifyMicroDepositsSelf|null')] #[\Speakeasy\Serializer\Annotation\SkipWhenNull] - public ?InitiateOrVerifyMicroDepositsSelf $self = null; + public ?VerifyMicroDepositsSelf $self = null; /** - * @param ?InitiateOrVerifyMicroDepositsSelf $self + * @param ?VerifyMicroDepositsSelf $self * @phpstan-pure */ - public function __construct(?InitiateOrVerifyMicroDepositsSelf $self = null) + public function __construct(?VerifyMicroDepositsSelf $self = null) { $this->self = $self; } diff --git a/src/Models/Operations/VerifyMicroDepositsRequest.php b/src/Models/Operations/VerifyMicroDepositsRequest.php new file mode 100644 index 0000000..8ba1f50 --- /dev/null +++ b/src/Models/Operations/VerifyMicroDepositsRequest.php @@ -0,0 +1,40 @@ +id = $id; + $this->body = $body; + } +} \ No newline at end of file diff --git a/src/Models/Components/VerifyMicroDeposits.php b/src/Models/Operations/VerifyMicroDepositsRequestBody.php similarity index 66% rename from src/Models/Components/VerifyMicroDeposits.php rename to src/Models/Operations/VerifyMicroDepositsRequestBody.php index c81e21e..4ddb576 100644 --- a/src/Models/Components/VerifyMicroDeposits.php +++ b/src/Models/Operations/VerifyMicroDepositsRequestBody.php @@ -6,18 +6,18 @@ declare(strict_types=1); -namespace Dwolla\Models\Components; +namespace Dwolla\Models\Operations; -/** VerifyMicroDeposits - Request body for verifying micro-deposits */ -class VerifyMicroDeposits +/** VerifyMicroDepositsRequestBody - The micro-deposit amounts received in the bank account */ +class VerifyMicroDepositsRequestBody { /** * * @var Amount1 $amount1 */ #[\Speakeasy\Serializer\Annotation\SerializedName('amount1')] - #[\Speakeasy\Serializer\Annotation\Type('\Dwolla\Models\Components\Amount1')] + #[\Speakeasy\Serializer\Annotation\Type('\Dwolla\Models\Operations\Amount1')] public Amount1 $amount1; /** @@ -25,7 +25,7 @@ class VerifyMicroDeposits * @var Amount2 $amount2 */ #[\Speakeasy\Serializer\Annotation\SerializedName('amount2')] - #[\Speakeasy\Serializer\Annotation\Type('\Dwolla\Models\Components\Amount2')] + #[\Speakeasy\Serializer\Annotation\Type('\Dwolla\Models\Operations\Amount2')] public Amount2 $amount2; /** diff --git a/src/Models/Operations/VerifyMicroDepositsResponse.php b/src/Models/Operations/VerifyMicroDepositsResponse.php new file mode 100644 index 0000000..56c8e14 --- /dev/null +++ b/src/Models/Operations/VerifyMicroDepositsResponse.php @@ -0,0 +1,56 @@ +contentType = $contentType; + $this->statusCode = $statusCode; + $this->rawResponse = $rawResponse; + $this->object = $object; + } +} \ No newline at end of file diff --git a/src/Models/Operations/VerifyMicroDepositsResponseBody.php b/src/Models/Operations/VerifyMicroDepositsResponseBody.php new file mode 100644 index 0000000..ae84bf9 --- /dev/null +++ b/src/Models/Operations/VerifyMicroDepositsResponseBody.php @@ -0,0 +1,32 @@ +links = $links; + } +} \ No newline at end of file diff --git a/src/Models/Operations/InitiateOrVerifyMicroDepositsSelf.php b/src/Models/Operations/VerifyMicroDepositsSelf.php similarity index 96% rename from src/Models/Operations/InitiateOrVerifyMicroDepositsSelf.php rename to src/Models/Operations/VerifyMicroDepositsSelf.php index 03484bb..ba70410 100644 --- a/src/Models/Operations/InitiateOrVerifyMicroDepositsSelf.php +++ b/src/Models/Operations/VerifyMicroDepositsSelf.php @@ -9,7 +9,7 @@ namespace Dwolla\Models\Operations; -class InitiateOrVerifyMicroDepositsSelf +class VerifyMicroDepositsSelf { /** * diff --git a/src/SDKConfiguration.php b/src/SDKConfiguration.php index b3e6256..e909426 100644 --- a/src/SDKConfiguration.php +++ b/src/SDKConfiguration.php @@ -18,17 +18,17 @@ class SDKConfiguration public ?\Closure $securitySource = null; public string $serverUrl = ''; - public int $serverIndex = 0; + public string $server = ''; public string $language = 'php'; public string $openapiDocVersion = '2.0'; - public string $sdkVersion = '0.0.1'; + public string $sdkVersion = '0.0.1-beta.1'; - public string $genVersion = '2.794.1'; + public string $genVersion = '2.797.1'; - public string $userAgent = 'speakeasy-sdk/php 0.0.1 2.794.1 2.0 dwolla/dwolla-php'; + public string $userAgent = 'speakeasy-sdk/php 0.0.1-beta.1 2.797.1 2.0 dwolla/dwolla-php'; public ?RetryConfig $retryConfig = null; @@ -44,11 +44,11 @@ public function getServerUrl(): string return $this->serverUrl; } - if (isset(Dwolla::SERVERS[$this->serverIndex])) { - return Dwolla::SERVERS[$this->serverIndex]; - } else { - throw new \OutOfBoundsException('Server index '.$this->serverIndex.' is out of bounds'); + if ($this->server === '') { + $this->server = Dwolla::SERVER_PROD; } + + return Dwolla::SERVERS[$this->server]; } public function hasSecurity(): bool { @@ -68,11 +68,8 @@ public function getServerDetails(): Utils\ServerDetails if ($this->serverUrl !== '') { return new Utils\ServerDetails(rtrim($this->serverUrl, '/'), []); } - if ($this->serverIndex === null) { - $this->serverIndex = 0; - } - return new Utils\ServerDetails(Dwolla::SERVERS[$this->serverIndex], []); + return new Utils\ServerDetails(Dwolla::SERVERS[$this->server], []); }